我有一個使用通用屬性的類。例如:C#使用具有通用屬性的反射
class Person
{
public MyGenericProperty<string> Field1
{
get { return field1; }
set { field1 = value; }
}
private MyGenericProperty<string> field1= new MyInheritedGenericProperty<string>("Alan1");
}
我想在另一個類使用這個類與反思和我有類似的
public void DoSomethingWithProperty(object sourceobject)
{
foreach (var aProperty in sourceobject.GetType().GetProperties())
{
*if(aProperty.PropertyType == typeof(MyGenericProperty<>))*
{
*var obj = (MyGenericProperty<>)aProperty.GetValue(sourceobject, null);*
}
}
return null;
}
的方法,我有兩個問題
1-怎樣才能做到類型檢查通用屬性。在該示例代碼if(aProperty.PropertyType == typeof(MyGenericProperty<>))
不起作用。 MyGenericProperty的
2-叔 - 可以是任何類型,以及如何通過反思
var obj = (MyGenericProperty<>)aProperty.GetValue(sourceobject, null);
感謝幫助投MyGenericProperty類不知道噸。