2010-08-09 67 views
3

說明不允許將屬性設置多次。c中的多個描述屬性#

有沒有什麼辦法可以有這樣的機會,例如爲屬性或枚舉多次設置DescriptionAttribute類型。

+0

添加您的解決方案作爲一個回答你自己的問題,而不是問題文本的一部分。 – 2010-08-09 13:30:21

回答

1

解決方案:

public class ExtraDescriptionAttribute : DescriptionAttribute 
{ 
    private string extraInfo; public string ExtraInfo { get { return extraInfo; } set { extraInfo = value; } } 
    public ExtraDescriptionAttribute(string description) 
    { 
     this.DescriptionValue = description; 
     this.extraInfo = String.Empty; 
    } 
} 
0

你應該調用基類的構造函數和刪除Description財產。這也顯示瞭如何設置ExtraInfo屬性。

public class ExtraDescriptionAttribute : DescriptionAttribute 
{ 
    public String ExtraInfo { get; private set; } 

    public ExtraDescriptionAttribute (String description, String extraInfo) : base(description) 
    { 
     ExtraInfo = extraInfo; 
    } 
} 

描述屬性會是這個樣子:

[ExtraDescriptionAttribute("Description", "ExtraInfo")]