c#属性中的字符串参数

本文关键字:字符串 参数 属性 | 更新日期: 2023-09-27 18:17:40

是否有可能在属性使用中移出字符串值声明?

我有:

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

但我更希望是这样的:

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

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

c#属性中的字符串参数

将需要的字符串声明为新类或其他地方的常量,并将其用作属性参数

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

并像这样使用:

[WebGet(UriTemplate = ResourceLibrary.MyResource)]