我有一个带有一些属性的简单类,我希望能够公开一个select
方法以返回另一个对象(就像 linq select 方法一样)。例如:
class Person
{
public string Name{get; set;}
public string Address {get; set;}
public string City {get; set;}
public TItem SelectProjection(..);
}
Person p = new Person();
var other = p.SelectProjection(p => new { p.Name, p.City});
这可能吗?
@@编辑
我有一个用于业务逻辑的自定义类,但我IList
只公开维护我的代码解耦(否IQueryable
)。所以,如果你想执行一些投影,你可以用逗号分隔符填充我的属性字符串:
BusinessClass.SelectFields = "Name, Surname, City";
但顺便说一下,键入错误的属性名称很容易,所以我更喜欢 lambda:
BusinessClass.SelectField = p => new {p.Name, p.Surname, p.City};