In Code unten muss ich Methode MdrResponseInterpreter
static
erklären, sonst habe ich einen Kompilierungsfehler.Warum Delegat muss statisch sein?
class.... {
private StandardBuilder _mdrResponseBuilder =
new StandardBuilder(MdrResponseInterpreter);
public static bool MdrResponseInterpreter(DNMessageDeliverer builder,
DNFieldSet message)
{
// .... work
}
Warum? Als _mdrResponseBuilder
nicht statisch Ich erwarte, dass MdrResponseInterpreter
der Lage sein sollten this
Dort ist definitiv * ist * ein Objekt an diesem Punkt (wo sonst wird der Wert zugewiesen?), Aber Sie haben noch nicht Zugriff auf 'this'. –
Sicher, ich war unklar. Meine Antwort wurde aktualisiert. – Botz3000
Ich würde immer noch sagen, dass es unklar ist. Das Objekt * existiert * vollständig. Es wurde möglicherweise nicht vollständig * initialisiert *, aber das gilt auch für den Konstruktor. (Es kann noch andere abgeleitete Konstruktor-Körper geben, die noch laufen müssen ...) –