public DerivedClass : BaseClass
{
// code
}
DerivedClass B = (DerivedClass)MethodReturnsBaseClassObject();
B.DoWork();
Существует много классов Derived, унаследованных от BaseClass
. Поэтому каждый раз мне нужно написать новый метод для использования некоторых свойств.Тип класса с производным классом динамически до базового класса C#
Возможно ли это, используя отражение, мы делаем DerivedClass
типа динамического и делаем что-то подобное и делаем его общим.
System.Type type = GetRequestFromSession().GetType();
type B = (type)MethodReturnsBaseClassObject();
Console.WriteLine(B.Name);
Console.WriteLine(B.Age);
всякая помощь приветствуется.
Рассматривались ли вы динамические типы: https://msdn.microsoft.com/en-us/library/dd264736.aspx или ExpandoObject https://msdn.microsoft.com/en-us/library/system.dynamic. expandoobject (v = vs.110) .aspx? Вот также блог msdn на эту тему: https://blogs.msdn.microsoft.com/csharpfaq/2009/09/30/dynamic-in-c-4-0-introducing-the-expandoobject/ –
Я предполагаю, что вы can't просто объявить 'Name' и' Age' на 'BaseClass', не так ли? – HimBromBeere