c#属性中的字符串参数

时间:2011-12-12 14:26:51

标签: c# attributes webget

是否有可能以某种方式移出属性用法中的字符串值声明?

具体来说我有:

[WebGet(UriTemplate = "/myResource/{id}")]

但我宁愿有类似的东西:

[WebGet(UriTemplate = AStaticDictionaryOrSomething["myResource"])]

原因是我想避免重复uri值而不必使用WebGet属性对类进行反射。所以我认为最简单的方法是在一个地方声明uri值,并从属性声明和其他地方引用它。

1 个答案:

答案 0 :(得分:3)

在新类或某个地方声明您需要的字符串作为常量,并将它们用作属性参数

public class ResourceLibrary
{
     public const string MyResource  = "/myResource/{id}";
}

并像这样使用它:

[WebGet(UriTemplate = ResourceLibrary.MyResource)]