2009-08-06 62 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

相关问题