Ich habe festgestellt, dass die Delegate-Klasse eine Target-Eigenschaft hat, die (vermutlich) die Instanz zurückgibt, für die die Delegate-Methode ausgeführt wird. Ich möchte so etwas wie dies zu tun:Wie erstellt man einen Delegaten für eine Instanzmethode mit einem Nullziel?
void PossiblyExecuteDelegate(Action<int> method)
{
if (method.Target == null)
{
// delegate instance target is null
// do something
}
else
{
method(10);
// do something else
}
}
Wenn es nennt, mag ich, wie etwas zu tun ist:
class A
{
void Method(int a) {}
static void Main(string[] args)
{
A a = null;
Action<int> action = a.Method;
PossiblyExecuteDelegate(action);
}
}
Aber ich bekomme ein Argument (Delegierten zu einer Instanz Methode kein null haben kann: ‚Dieses ') wenn ich versuche, den Delegierten zu konstruieren. Was ich machen möchte und wie kann ich das machen?
Warum möchten Sie dies tun? Sie haben Instanzen, die null sind? –