扩展一个属性,同时插入一个新项

本文关键字:一个 插入 新项 扩展 属性 | 更新日期: 2023-09-27 18:02:39

这是我的代码:

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

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

不能重新创建我的整个结构(它也从一个DLL),所以我想更快地添加一个名为Tel的MyNew属性,在该列表中。所以在插入列表时扩展类

扩展一个属性,同时插入一个新项

不能,但是您可以创建一个匿名类型,它包括原始类型和您的新列:

var myList = myPage.News
                   .Cast<MyNew>()
                   .Select( new { m => MyNew = m,
                                       Tel = [formula for tel]
                                }
                          );
public class MyNewExtended: MyNew {
   public String Tel { get;set; }
}
var myList = myPage.News.Cast<MyNewExtended>();

您应该能够扩展MyNew与部分类,如:

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

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