You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.3 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Reflection;
  4. using System.Text;
  5. namespace Apewer.Models
  6. {
  7. /// <summary>属性信息。</summary>
  8. public class Property
  9. {
  10. /// <summary>对象实例。</summary>
  11. public object Instance { get; set; }
  12. /// <summary>所属类型。</summary>
  13. public Type Type { get; set; }
  14. /// <summary>属性信息。</summary>
  15. public PropertyInfo Information { get; set; }
  16. /// <summary>属性的 Get 方法,不存在时为 NULL 值。</summary>
  17. public MethodInfo Getter { get; set; }
  18. /// <summary>属性的 Get 方法,不存在时为 NULL 值。</summary>
  19. public MethodInfo Setter { get; set; }
  20. /// <summary>属性包含 Get 方法。</summary>
  21. public bool HasGet { get { return Getter != null; } }
  22. /// <summary>属性包含 Set 方法。</summary>
  23. public bool HasSet { get { return Setter != null; } }
  24. /// <summary>静态属性。</summary>
  25. public bool IsStatic
  26. {
  27. get
  28. {
  29. if (Getter != null) return Getter.IsStatic;
  30. if (Setter != null) return Getter.IsStatic;
  31. return false;
  32. }
  33. }
  34. }
  35. }