Ich suche nach einem Delegaten, der eine Methode einkapselt, die keinen Wert zurückgibt und einen Parameter wie Aktion < T> leider der Fall ist, sondern dass Delegierte nicht mit der Methode Aufnahme eines Kind Typ als Parameter ...C# -Delegat für Funktion mit keinem Rückgabewert und einen Parameter, der Untertypklassen erlaubt (als Parameter)
das ist, was ich versuche zu tun überein:
public class BaseType
{
public BaseType()
{
}
}
public class ChildType : BaseType
{
public ChildType()
{
}
}
public class Test
{
public delegate void CallBackHandler(BaseType p);
public Test()
{
CallBackHandler clbk1 = callBackA;
CallBackHandler clbk2 = callBackB; //That line does not compile
//->'No overload for 'callBackB' matches delegate 'Test.CallBackHandler'
}
private void callBackA(BaseType p)
{
}
private void callBackB(ChildType p)
{
}
}
ich las über Kovarianz, Kontra, etc ... Ich weiß, es geht um ihn Rited Casting, aber ich bin ein wenig verwirrt über all dies ...
Welchen Delegaten sollte ich verwenden, um meinen Code arbeiten zu lassen?
Mögliche Lösung: 'Callbackhandler clbk2 = p => callBackB (p);' – Fruchtzwerg