0

这是我的代码:

var myList = myPage.News.Cast<MyNew>();

MyNew 有 20 个属性(名称、标题、日期、地点等),但它错过了一个属性(例如)Tel

无法重新创建我的整个结构(它也来自 DLL),所以我想更快地Tel在该列表中添加一个名为 的 MyNew 属性。因此,在插入列表期间扩展类。

4

3 回答 3

3

不,但您可以创建一个匿名类型,其中包括原始类型和新列:

var myList = myPage.News
                   .Cast<MyNew>()
                   .Select( new { m => MyNew = m,
                                       Tel = [formula for tel]
                                }
                          );
于 2013-03-06T14:45:36.930 回答
1
public class MyNewExtended: MyNew {
   public String Tel { get;set; }
}

var myList = myPage.News.Cast<MyNewExtended>();

(但请参阅下面 Chris Sinclair 的评论)

于 2013-03-06T14:46:05.587 回答
-1

您应该能够MyNew像这样使用部分类进行扩展:

public partial class MyNew
{
    public int Tel { get; set; }
}

Tel然后将像任何其他属性一样可用。

于 2013-03-06T14:47:57.613 回答