首页 > 编程 > C# > 正文

C# 获取属性名的方法

2020-01-24 03:34:56
字体:
来源:转载
供稿:网友

复制代码 代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication
{
    class Program
    {
        class Test
        {
            public string PropertyJustForTest1 { get; set; }
            public Test PropertyJustForTest2 { get; set; }
        }
        static void Main(string[] args)
        {
            Test test = new Test();
            Console.WriteLine(GetPropertyNameHelper.GetPropertyName<object>(() => test.PropertyJustForTest1));
            Console.WriteLine(GetPropertyNameHelper.GetPropertyName<object>(() => test.PropertyJustForTest2));
        }
    }
    static class GetPropertyNameHelper
    {
        public static string GetPropertyName<T>(Expression<Func<T>> express)
        {
            var memberExpress = express.Body as MemberExpression;
            if (memberExpress != null)
            {
                return memberExpress.Member.Name;
            }
            else
            {
                return string.Empty;
            }
        }
    }
}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表