例如,我有一個類的屬性和屬性:將屬性屬性作爲實例屬性訪問 - 是否有可能?
[MyDisplay(Name = "Class name", Description = "Class description.")]
public class MyClass
{
[MyDisplay(Name = "Property name", Description = "Property description.")]
public int MyProperty { get; set; }
}
我想得到這樣
// Get type attribute...
string className = MyClass.Attributes.MyDisplay.Name;
// Get member attribute...
string propertyDescription =
MyClass.Properties.MyProperty.Attributes.MyDisplay.Description;
如何獲得它的屬性值?我想要自動使用屬性數據填充MyClass的其他字段的代碼。這似乎是非常方便的訪問屬性值,如實例值 - 綁定等。
主要的複雜性是填充MyClass.Attributes和MyClass.Properties集合的名稱與屬性相同的對象和屬性名稱。所以我認爲這個集合必須是靜態的。並且MyClass.Properties集合中的每個對象也必須具有Attributes集合(例如MyProperty.Attributes),如MyClass.Attributes集合。
你是什麼意思的'實例級屬性'?你想如何在你的代碼中聲明? – SergeyS 2013-02-10 12:19:45
屬性「顯示」在MyClass上無效。它只對'方法,屬性,索引器,字段,參數'聲明有效。或者你是否實現了自己的Display屬性? – rene 2013-02-10 12:30:08
rene,它可以是一個類的任何有效屬性。爲了清楚起見,我改了名字。 – user808128 2013-02-10 13:13:23