Lambda를 사용하여 클래스의 속성 이름 가져오기

1815 단어 lambda
 public class TypeInfoHelper
    {
       public static string  GetClassPropertiesName<TClass, TResult>(Expression<Func<TClass, TResult>> propery)
        {
            var body = propery.Body.ToString();
            return body.Substring(body.LastIndexOf(".") + 1);
        }

    }

호출은 다음과 같습니다.
  public class MyClass
    {
        public string Name { get; set; }

        public List<string> UserName { get; set; }
    }

  var name = TypeInfoHelper.GetClassPropertiesName<MyClass,List<string>>(s => myClass.UserName);

좋은 웹페이지 즐겨찾기