我有以下幾點:的System.Reflection無法獲得屬性值
List<Agenda> Timetable;
public class Agenda
{
public Object item; //item can be of any object type but has common properties
}
class MasterItem
{
public long ID;
}
class item1:MasterItem { //properties and methods here }
class item2:MasterItem { //properties and methods here }
在代碼的開始,我有我添加使用
item1 sItem = new item1() { //Initialize properties with values }
Timetable.Add(new Agenda {item = sItem);
在這裏我要項的列表獲得ID爲12的項目的議程。我試過使用
object x = Timetable.Find(delegate (Agenda a)
{
System.Reflection.PropertyInfo pinfo = a.item.GetType().GetProperties().Single(pi => pi.Name == "ID"); //returned Sequence contains no matching element
return ....
}
它爲什麼會返回錯誤消息「序列包含沒有匹配的元素」?
我也試過
a.item.GetType().GetProperty("ID")
但它返回「未設置爲一個對象的實例對象引用」。它找不到該ID。
有趣的是,不要從谷歌搜索得到很多...
這有助於很多。謝謝! – cSharpDev