首页 新闻 会员 周边

有什么方法可以直接获取类属性的名称

0
悬赏园豆:10 [已解决问题] 解决于 2015-04-23 09:34

 例如,下面代码里 通过 demo.Id 返回“Id”

        static void Main(string[] args)
        {
            var demo = new Demo();
            var s = GetPropertyName(demo.Id); // 该方法返回 ”Id“
        }

        class Demo
        {
            public int Id { get; set; } 
        }    
C#
xmj112288的主页 xmj112288 | 初学一级 | 园豆:126
提问于:2015-04-22 15:13
< >
分享
最佳答案
0

public static string GetName<T>(this Expression<Func<T, object>> expression)
{
var body = expression.Body.ToString();
var name = body.Substring(body.LastIndexOf(".") + 1);
name = name.TrimEnd(')');
return name;
}

收获园豆:10
秋天不会来 | 菜鸟二级 |园豆:320 | 2015-04-22 23:35
其他回答(2)
0

反射不能这样用

你需要nameof关键字..不过要vs2015

吴瑞祥 | 园豆:29449 (高人七级) | 2015-04-22 15:16
0

static void Main(string[] args)
        {
            var demo = new Demo();
          var s = GetPropertyName(demo.Id); // 该方法返回 ”Id“

    //创建一个类(将变量存储到类里面的变量中)

          DemoEntiy entiy = new DemoEntiy()

            entiy.DemoId=s;//这个DemoId是 你类中的一个变量
        }

        class Demo
        {
            public int Id { get; set; }
        }

//使用的时候  在实例化那个类就可以啦

行走的小蜗牛 | 园豆:5 (初学一级) | 2015-04-22 17:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册