1

最近、プロジェクトを進めているときに、インターフェイスのメソッド宣言を装飾する属性の束だけでなく、メソッドの実装を装飾する別のセットになることがいつも気になっていることに気付きました。

最新のインスタンスは、私が作業しているこの WCF であり、実装クラスは 1 つしかありません。それでも、一部の属性はインターフェイスに入力されますが、他の属性はクラスに入力されます。それは悪いコーディング スタイルと見なされますか?

より具体的には、WCF を使用する場合、すべての属性を実装クラス定義に移動できますか?

4

1 に答える 1

2

WCF 固有:

WCF Contractインターフェイスによって定義され、WCF サービスとメタデータの検出に使用される WCF クライアントに公開されるインターフェイスであるため、すべての属性を実装クラスだけに移動することはできません。

また、Attributesリフレクションを使用して.Netランタイムによって使用され、メタデータを検出してさまざまなものに適用するために使用さAttributeTargetsinterfaceますclass.

Attributesしたがって、インターフェイスとクラスの両方で使用しても問題ないと思います。.Net runtime 要件が使用されるターゲットに依存している場合は、悪い習慣とは見なされません。

于 2013-06-17T12:51:05.893 に答える