2016-06-02 6 views
1

Ich versuche, eine Dekorateur-Klasse zu machen, aber ich erhalte eine Fehlermeldung „Es gibt kein Argument gegeben ist, dass ein Gespräch würde instanziiert Du auf die erforderlichen formalen Parameter‚entspricht conversation'of Call.Call (Gespräch)Wie implementiere ich eine Decorator-Klasse der abstrakten Klasse ohne Standardkonstruktor?

Normalerweise Objekt und dann instanziieren ein neues Aufrufobjekt unter Bezugnahme auf dieses Gespräch

Beispiel: CALL _call = new Call (_conversation);

public abstract class CallDecorator : Call 
{ 
    public CallDecorator(Call aCall) 
    { 

    } 

die Fehler auf der Überzugseinrichtung sind

.

Kontext: Die Objekte Conversation und Call sind Teil des Microsoft.rtc.collaboration SDK für Lync. Das Gespräch hat keinen parameterlosen Konstruktor, sollte aber mit neuer Conversation (_endpoint)

Vielleicht ein anderes Muster

+0

Sie müssen immer einen Konstruktor von der Basisklasse aufrufen. Sie können einen Call nur in einer Eigenschaft speichern, anstatt ihn als Basisklasse zu verwenden. – buffjape

Antwort

1

den Konstruktor geben würde gilt instanziert werden, was es will. Angenommen, das Konversationsobjekt ist beim Aufruf verfügbar.

public abstract class CallDecorator : Call 
{ 
    public CallDecorator(Call aCall):base(aCall.Conversation) 
    { 

    } 
} 
+0

Wow dbugger. Das ist eine schnelle Antwort. Vielen Dank. Ich möchte immer geben, was es will. Mir war nur nicht klar, was es wollte. –

Verwandte Themen