帮助定义泛型方法以及表达式树参数
|
假设我有:
class Person
{
[ColumnAttribute(\"ID\"]
public int Id;
[ColumnAttribute(\"Name\"]
public string Name;
[ColumnAttribute(\"DateOfBirth\"]
public date BirthDate;
}
我想创建一个将被如下调用的方法
GetPropertyColumn<Person>(e=>e.Name)
此方法将返回由ColumnAttribute属性定义的字符串。
问题是我无法定义此方法。
我试过了
public string GetPropertyColumn<T,U>(Expression<Func<T, U>> Lamda)
但是问题是我只能指定T而不能指定U,所以它不起作用。
有什么帮助吗?
谢谢
编辑:
感谢您的回答,但我有很多答案,您需要实例化Person,但我不想这样做。
因为我只想知道给定列的类内部定义的属性。
没有找到相关结果
已邀请:
3 个回复
爆刺疤灯
babsoft
使用:
澳绍能
并按如下所示使用它:
您不需要指定T,因为它是从第一个参数推断出来的,也不需要指定U,因为它是从lambda的返回类型推断出来的 请注意,您不需要将其定义为扩展方法,也可以是常规方法。然后,您将像这样使用它: