2

属性の使用法で文字列値の宣言を移動することは何とか可能ですか?

具体的には次のとおりです。

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

しかし、私はむしろ次のようなものが欲しいです:

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

その理由は、WebGet 属性を使用してクラスにリフレクションを行わなくても、uri の値が重複するのを避けたいからです。したがって、私が考える最も簡単な方法は、uri 値を 1 か所で宣言し、それを属性宣言や他の場所から参照することです。

4

1 に答える 1

3

必要な文字列を新しいクラスまたはどこかで定数として宣言し、それらを属性引数として使用します

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

そして、次のように使用します。

[WebGet(UriTemplate = ResourceLibrary.MyResource)]
于 2011-12-12T15:06:30.307 に答える