我有一个IList<T>
,它有数据,我想从IList访问字段值。
我已经写了下面的代码来获得字段值
IList<T> source;
source.FirstOrDefault().Field("ParentID")
我想访问ParentID字段值。
但它在构建解决方案时给出了以下错误:
"'T'不包含'Field'的定义,也找不到接受第一个'T'类型参数的扩展方法'Field'(是否缺少using指令或程序集引用?)"
我添加了System.Xml、System.Xml.Linq和System.Collections.Generic程序集,但它仍然不起作用。有人能帮忙吗?
下面是一些泛型101。
假设您有一个名为Node
的类,其中包含一个名称为ParentID
的属性。
public class Node
{
public int ParentId { get; set; }
}
现在定义一个节点列表。基本上是一组对象。在List<T>
中,T
指的是列表中的对象类型。所以你可以这样定义它:
IList<Node> source;
然后,您需要填充名为source
的列表。
然后你可以用你写的代码选择ParentId
。
source.FirstOrDefault().Field("ParentID")
铸造源代码。FirstOrDefault()转换为正确的类,例如:((Employee)source.FirstOrDefault()).Field("ParentID")