public DerivedClass : BaseClass
{
// code
}
DerivedClass B = (DerivedClass)MethodReturnsBaseClassObject();
B.DoWork();
Es gibt viele abgeleitete Klassen, die von BaseClass
geerbt werden. Also jedes Mal, wenn ich eine neue Methode schreiben muss, um einige der Eigenschaften zu verwenden.Umwandeln des abgeleiteten Klassentyps in den Basistyp C#
Ist dies möglich, dass mit Reflektion machen wir DerivedClass
Typ dynamisch und tun so etwas und machen es generisch.
System.Type type = GetRequestFromSession().GetType();
type B = (type)MethodReturnsBaseClassObject();
Console.WriteLine(B.Name);
Console.WriteLine(B.Age);
jede Hilfe wird geschätzt.
Haben Sie dynamische Typen in Betracht gezogen: https://msdn.microsoft.com/en-us/library/dd264736.aspx oder ExpandoObject https://msdn.microsoft.com/en-us/library/system.dynamic. expandoobject (v = vs.110) .aspx? Hier ist auch ein msdn Blog zum Thema: https://blogs.msdn.microsoft.com/csharpfaq/2009/09/30/dynamic-in-c-4-0-introducing-the-expandoobject/ –
Ich nehme an Sie kann 'Name' und' Age' nicht einfach auf 'BaseClass' deklarieren, oder? – HimBromBeere