本文介绍了获取属性名称在C#中的字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否有可能编写返回一个对象的属性的字符串值的函数?

Is it possible to write a function that return the string value of a property of an object?

如果我有一个名为苹果的对象,有一个名为剥离的方法我想有一个返回剥离的方法,当我打电话getAttributeName(apple.peel)。

if I have an object called apple that has a method called peel i would like to have a method that returns "peel" when I call getAttributeName(apple.peel).

我该怎么办呢?

推荐答案

您可以写一个扩展方法

public static string GetPropName<T, P>(this T obj, Expression<Func<T, P>> lambda)
{
    var member = lambda.Body as MemberExpression;
    var prop = member.Member as PropertyInfo;
    return prop.Name;
}

和使用它像这样

var u = new User();
string name = u.GetPropName(x=>x.name);

这篇关于获取属性名称在C#中的字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-26 07:32