2017-02-07 5 views
0

異なるクラスのプロパティに同じ属性を設定する必要があります。 :複数の場所で同じ属性を持つ(コピーしないでください)。

[Display(Name = "Last Name")] 

異なるクラス/インターフェイスに同じ行を貼り付けないでコピーする方法はありますか?代わりにその行を参照するコンストラクトを持っていて、代わりに参照をどこにでも貼り付けてください。

答えて

0

同じ値を持つ終わる無関係なフィールド:Constants.LastName = "Last Name");が定義された文字列定数である

[Display(Name = Constants.LastName)] 

1

おそらくAOPが役に立つでしょう。 best frameworkを自分で検索してください。

0

ruby​​やpowershellのような単純なスクリプトを作成して、各ページの同じ場所にその行を追加したり、正規表現の後に追加することができます。より簡単な方法は、親クラスを作成し、この属性を実装するすべてのクラスを親クラスに拡張することです。

コピーと貼り付けが非常に多くの場所で同じ変更を行う必要が生じた場合は、プロジェクトを見て、関係が存在するかどうか、私が代わりに定数を使用して終了

+0

私は多くの場所で変更する必要はありませんが、多くの場所では、物のコピーではなく、同じ実際のものを参照する必要があります。 – Arjang

+0

同じインスタンスまたは同じプロパティですか?そのインスタンスが同じものであれば、それに依存するすべてに注入されるべき依存関係のように聞こえるでしょう。同じプロパティの場合は、他のクラスが継承する親クラスである必要があります。特定のサブクラスでオーバーライドする必要があると思われる場合はプロパティを仮想にすることができますが、それ以外の場合は一度だけ設定する必要があります –

+0

親クラスを使用する場合は、属性が[継承可能](https:// msdn .microsoft.com/ja-us/library/system.attributeusageattribute.inherited.aspx)。 –

関連する問題