类派生自列表
本文关键字:列表 派生 | 更新日期: 2023-09-27 18:16:26
我有一个从泛型列表派生的c#类
public class CostCodes : List<CostCode>
{
public CostCodes() : base()
{
Add(new CostCode { Description = "DOM0010 Fall Arr", ID = 1599 });
Add(new CostCode { Description = "DOM0020 Acoustics", ID = 1600 });
}
当我尝试在这个派生类上使用Find方法时,智能感知中没有出现Find方法。
var codes = new CostCodes();
CostCode costCode = codes.Find(...
发现问题是由测试silverlight项目中的类引起的。把它们搬出去了,但最好能知道为什么会有不同。
——
还不能回答我自己的问题,但对于那些感兴趣的人来说,这篇文章说明了为什么
http://forums.silverlight.net/t/67428.aspx/1显然在silverlight项目中没有Find方法。你必须使用linq和"first"方法而不是find
using System.Linq;
var costCode = codes.First(cc => cc.ID == id);
这是智能感知的问题吗?
这个编译得很好:
public class CostCode {
public string Description { get; set; }
}
public class CostCodes : List<CostCode> {
public CostCodes()
: base() {
Add(new CostCode {Description = "DOM0010 Fall Arr"});
Add(new CostCode {Description = "DOM0020 Acoustics"});
}
}
// In another class...
public static void Main(string[] argStrings) {
CostCodes s = new CostCodes();
var hasDescription = s.Find(cc => cc.Description != null);
}
Find()
方法应该出现在智能感知中。
我只能假设,也许你的var codes = new CostCodes();
行引用了一个名为CostCodes
的类型在不同的命名空间。
试试这个:
var codes = new Full.Namespace.CostCodes();