2009-08-06 65 views
3

.net框架中是否有內置的屬性來標記具有任意鍵和值的代碼?我已瀏覽了the list,但看不到有用的東西。我們最好要的是能夠說是否有內置的名稱/值對屬性?

[NameValuePair("MyKey", "My long bit of text")] 

...再後來拉出來的

其實,我們真的希望能夠做的是嵌入額外的信息到集信息在持續集成構建的時間,像

[Assembly: NameValuePair("MyKey", "My long bit of text")] 

,然後拉出來以後

我已經看到了傑夫的職位約Custom AssemblyInfo Attributes,這是好的,但如果有一個隱含的屬性烘焙到框架中會更好。

回答

5

雖然實現起來相當容易,但沒有代表名稱/值對的內置屬性。如果你的鍵和值總是字符串,你只需要一個屬性,它將兩個字符串作爲構造參數。

[AttributeUsage(AttributeTargets.Assembly)] 
public KeyValuePairAttribute : Attribute 
{ 
    private string key; 
    private string value; 

    private KeyValuePairAttribute() { } 

    public KeyValuePairAttribute(string key, string value) 
    { 
     this.key = key; 
     this.value = value; 
    } 
} 
+0

是的,沒錯。我們必須確保我們正在通過持續集成構建每個「事物」(這可能是一個痛苦的世界)中存在的類,但這是一個很好的回退 – 2009-08-06 02:14:44

+0

最簡單的方法,如果你想包含實際的源文件在每個項目中都將其包含爲鏈接文件。另一種選擇是在單獨的DLL(或項目)中編譯它,然後在每個其他項目中包含該DLL(或項目)作爲參考。這兩種方式都只導致只有一個源代碼文件需要維護。 – 2009-08-06 02:19:01

+0

我喜歡鏈接文件的想法。不是說有很多來源需要維護,但:-) – 2009-08-06 02:23:57

相關問題