に何をしますか?これは自動的にすべてのクラスメソッドまたはコントローラクラスにのみ接続されますか? MVCとWeb APIの両方を使用しています。それはまた、Web APIのメソッドに添付されますか?AttributeUsageは、私は以下の持っている私のサンプルコードではMVC4
答えて
AttributeUsage
は、MVCに固有のものではありません。それは、属性がどこでどのように使用されるかを記述する。
ほとんどの場合、コンパイラはこれらの制約を適用します。
しかし、「魔法の」ものは何も起こりません。あなたはまだ何かをするための属性を持つクラス/メンバを装飾する必要があります。言い換えれば、それは自動的にすべてのタイプまたはメンバーに適用されません。また、*
参照:http://msdn.microsoft.com/en-us/library/tw5zxet9(v=vs.110).aspx
* Inherited
プロパティは、自動化の非常に限られた量を提供します。 How does inheritance work for Attributes?を参照してください。
これは他のすべてのタイプのアプリケーションとまったく同じことです(特別なMVC動作なし)。特定の属性がどこにあるのかを指定します。を使用します。
カスタム属性クラスの使用方法を指定します。 AttributeUsageは、カスタム属性定義に適用して新しい属性の適用方法を制御できる属性です。
したがって、基本的に、実装する属性クラスに関する追加情報がコンパイラに与えられます。
あなたは、いくつかの優れた例を持っているで:どこで、どの属性を使用することができます http://msdn.microsoft.com/en-us/library/tw5zxet9(v=vs.100).aspx
AttributeUsageが決まります。したがって、あなたの例はクラスまたはメソッドに適用できますが、エンティティごとに1回しか適用できません。
自動的にはどのクラスにも関連付けられません。あなたは明示的にそれを行う必要があります。
はAttributeUsage上のC#プログラミングガイドを参照してください: http://msdn.microsoft.com/en-us/library/tw5zxet9(v=vs.80).aspx
- 1. は、私は以下の持っている私のソースリスト
- 2. 私は以下の表を持って
- 3. は、私は以下の表を持っているMySQLの
- 4. は、私は以下の持っているのjQuery
- 5. は、私は、以下のカテゴリーのモデルを持っているリスト
- 6. は、私は以下のクラスを持っているHashSetの
- 7. 私は以下のようなモデル持っている私のキューブではSSAS
- 8. は、私は以下の目的を持っているオブジェクト
- 9. Pythonスクリプトは、私は以下の持っているUTC
- 10. は、私は以下のクラスを持っているリスト
- 11. は、私は以下のメソッドを持っている方法
- 12. は、私は以下のコードを持っている
- 13. は、私は以下のコードを持っているgetRowDataがnull
- 14. Postgresは、私は以下の表を持っている
- 15. SSRSは、私は以下のデータテーブルを持っている
- 16. Unityは、私は以下のクラスを持っているリポジトリ
- 17. は、私は以下のユースケース持っているリスト内包
- 18. は、私は、以下の機能を持っているR
- 19. は、私は、以下の「辞書」を持っているJS
- 20. は、私は、以下の機能を持っているJSアレイ
- 21. は、私は以下のクラスを持っている
- 22. プロップは、私は以下の持っているeslint
- 23. デザインは、私は以下のページ持っているIE
- 24. は、私は以下のメソッドを持っているハングアウト
- 25. は、私は、以下の機能を持っているHTTPステータスコード
- 26. は、私は以下のクラスを持っているCCW順
- 27. スコープCSSは、私は、以下のフォームコンポーネント持っているコンポーネント
- 28. MessageDlgは、私は以下のコードを持っている音
- 29. ASP.NET mvc4コントローラのアクションは、私はにHomeControllerに定義された以下のメソッドを持っている
- 30. jqueryの - 私は、以下の文字列を持っている
私は、小さな疑問を持っている上記の質問では、我々は密閉されたクラスを持っているとattributeUsage = trueのプロパティを継承しています。どうすればこのクラスが継承されなくなるのですか?説明してください。 –
@LijinJohn - 属性自体は封印されていますが、 'Inherited'プロパティは* other *クラスに適用されたときの属性の動作を記述します。これらの他のクラスは封印することはできません。 –