【发布时间】:2014-03-05 16:49:24
【问题描述】:
我创建了一个自定义属性。
public class DisplayAttribute : Attribute
{
public bool IsDisplay;
public string DisplayName;
public DisplayAttribute()
{
IsDisplay = true;
DisplayName = string.Empty;
}
public DisplayAttribute(bool isDisplay)
{
IsDisplay = isDisplay;
DisplayName = string.Empty;
}
public DisplayAttribute(string displayName)
{
IsDisplay = true;
DisplayName = displayName;
}
public DisplayAttribute(bool isDisplay,string displayName)
{
IsDisplay = isDisplay;
DisplayName = displayName;
}
}
我创建此属性的目的是限制在我从特定类中获取属性列表时列出的属性
这是我的课
public class tblContacts : Connection
{
[Display(false)]
public int ContactId { get; set; }
[Display(true,"Category Name")]
public string CategoryName { get; set; }
[Display("First Name")]
public string FirstName { get; set; }
}
但是当我执行以下语句时
tblContacts obj=new tblContacts();
obj.GetType().GetProperties();
它无法满足我的动机
【问题讨论】:
-
你有什么例外
-
GetProperties 方法甚至不知道您的属性存在,那么为什么它会知道查找您的属性并忽略该属性?您的代码中没有任何内容会告诉 GetProperties 忽略一个方法,而且也不可能存在。您需要做的是在调用 GetProperties 后添加自己的过滤器以丢弃您不想要的过滤器。
-
反正没有我只需要添加注释来满足我的动机
标签: c# oop properties