C# 获取当前的属性名和类名

2022-09-14  乐帮网

c#

在C#的类属性里我们获取当前的属性名和类的相关信息,直接上代码如下:

static public string StreetName
{
  get { return _streetName; }
  set
  {
    if (value.Length > 30)
    {
      var method = MethodBase.GetCurrentMethod();
      var property = method.DeclaringType.GetProperties(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic)
                        .Where(pr => pr.GetGetMethod(true) == method || pr.GetSetMethod(true) == method).SingleOrDefault();

      throw new CrackerJackException(property.Name + " of " + property.DeclaringType
        + " must be less than 20 characters.", new CrackerJackException().GetCompleteException(1, ErrorCode.InvalidDataField));    
    }
    else
    {
      _streetName = value;
    }
  }
}

主要整理来自:https://social.msdn.microsoft.com/Forums/vstudio/en-US/18422d89-75c2-461c-b2bf-9e32627e533a/how-to-get-current-property-name-and-current-class-name?forum=csharpgeneral

 

公众号二维码

关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com

庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。

欧阳修

付款二维码

如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力