-2
如何獲取屬性名稱作爲字符串?如何通過c中的反射獲得屬性名稱#
例如:
Public int PropertyValue{get;set;}
現在我想要得到的PropertyValue與出反射的字符串,並與出的foreach的PropertyInfo
如何獲取屬性名稱作爲字符串?如何通過c中的反射獲得屬性名稱#
例如:
Public int PropertyValue{get;set;}
現在我想要得到的PropertyValue與出反射的字符串,並與出的foreach的PropertyInfo
我在這裏找到了解決方案: Workaround for lack of 'nameof' operator in C# for type-safe databinding?
凡@ reshefm有這樣的代碼:
class Program
{
static void Main()
{
var propName = Nameof<SampleClass>.Property(e => e.Name);
Console.WriteLine(propName);
}
}
public class Nameof<T>
{
public static string Property<TProp>(Expression<Func<T, TProp>> expression)
{
var body = expression.Body as MemberExpression;
if(body == null)
throw new ArgumentException("'expression' should be a member expression");
return body.Member.Name;
}
}
希望這有助於:)
爲什麼你不想使用反射? – ryadavilli
如果我使用反射,我可以獲得產權的所有元數據 –
您可以發佈一個最小的僞代碼,這會給我們一些上下文嗎? – Dennis