Я не могу
(1) проверить, относится ли пользовательский объект к определенному типу, и
(2) создать экземпляр "заброшенного" объекта
У меня есть:
public class MyObject<Type> // --> i require this "<Type>" form somewhere else, so not possible to change it
{
public string A { get; set; }
public string B { get; set; }
}
public class MyClass : MyBaseClass
{
public MyObject<string> Prop1 { get; set; }
public MyObject<int> Prop2 { get; set; }
public MyObject<long> Prop3 { get; set; }
}
public class MyBaseClass
{
....
PropertyInfo[] props = this.GetType().GetProperties();
foreach (PropertyInfo prop in props)
{
if(prop.PropertyType is MyObject<Type>) // --> (1) this does not work
{
var o = (MyObject<Type>)Activator.CreateInstance(prop.PropertyType); // (2) this does not work
o.A = "test1";
o.B = "test2";
prop?.SetValue(this, o);
}
}
....
}
Чего я в основном хочу добиться, так это динамически установить свойства A и B объекта MyObject, в соответствии с которым объявлен тип. Поэтому мне нужно использовать Reflection для обнаружения свойств и типов, создания экземпляров и установки свойств.
Кто-нибудь может помочь мне с этими проблемами?
Заранее спасибо,