0
有谁知道为什么这个工程泛型类型参数作为PARAMS
GetPropertyName(x => x.Ident);
但这并不
GetPropertyNames(x => x.Ident, x => x.Name);
分别调用这两个方法则params的
public static string GetPropertyName<T>(Expression<Func<DTO, T>> pExpression)
{
MemberExpression me = pExpression.Body as MemberExpression;
if (me != null) { return me.Member.Name; }
UnaryExpression ue = pExpression.Body as UnaryExpression;
me = ue.Operand as MemberExpression;
if (me != null) { return me.Member.Name; }
return null;
}
public static string[] GetPropertyNames<T>(params Expression<Func<DTO, T>>[] pExpressions)
{
List<string> propertyNames = new List<string>();
foreach (Expression<Func<DTO, T>> expression in pExpressions)
{
propertyNames.Add(GetPropertyName(expression));
}
return propertyNames.ToArray();
}
限制
你得到的错误是什么? Indent和Name是同一类型吗? – DLeh 2014-12-05 17:04:44