attributeusage の使用法: 1. csharp サンプル ファイルを作成します; 2. MyAttribute という名前の属性を定義し、 AttributeUsage を使用して属性の使用仕様を制限します; 3. validOn パラメータを "AttributeTargets.Class" に設定します。この機能はクラスにのみ適用できること; 4.allowMultiple パラメータは「false」に設定され、この機能が 1 回のみ適用できることを示し、その逆も同様です。
AttributeUsage は、カスタム属性の使用仕様を定義するために使用される C# の属性クラスです。カスタム属性を記述する場合、AttributeUsage 属性を使用して、クラス、メソッド、プロパティなど、その属性をどのターゲット要素で使用できるかを明確にすることができます。この記事ではAttributeUsageの使い方と使い方を詳しく紹介します。
1. AttributeUsage 属性の構文と属性
AttributeUsage 属性の構文は次のとおりです:
[AttributeUsage(validOn,AllowMultiple =allowMultiple,Inherited =継承)]
このうち、validOn パラメータは属性を使用できる対象のタイプを指定し、allowMultiple パラメータは同じ属性を複数回適用できるかどうかを示し、inherited パラメータは派生属性かどうかを示します。クラスは属性を継承します。これらのパラメータのオプションは次のとおりです。
- validOn: 属性を適用できるターゲット要素を表す AttributeTargets 列挙の 1 つ以上の値。 AttributeTargets 列挙には次の値が含まれます:
- アセンブリ:アセンブリ
#- モジュール: module##- クラス: class
##- 構造: 構造-列挙型:列挙型#-コンストラクター:コンストラクター
#-メソッド:メソッド##-プロパティ:プロパティ
##-フィールド:フィールド- イベント: イベント#- インターフェイス: インターフェイス
##- パラメーター: パラメーター##- デリゲート: デリゲート
##- ReturnValue: 戻り値-allowMultiple: 同じ属性の複数のアプリケーションが許可されるかどうかを示すブール値。デフォルト値は false で、これは一度だけ適用できることを意味します。 -継承: 派生クラスがこの属性を継承できるかどうかを示すブール値。デフォルト値は true で、継承が許可されることを意味します。 2. AttributeUsage の使用例以下では、コード例を使用して AttributeUsage の使用法を示します。csharp [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] public class MyAttribute : Attribute { // 属性、方法等 } [My] public class MyClass { // 类的定义 } [My] public interface IMyInterface { // 接口的定义 } [My] public abstract class MyBaseClass { // 抽象类的定义 } [My] public enum MyEnum { // 枚举的定义 } [My] public delegate void MyDelegate(); [My] public struct MyStruct { // 结构体的定义 } [My] public delegate void MyMethod([My] int myParam); [My] public event MyDelegate MyEvent; [My] public int MyProperty { get; set; } [My] public int MyField; [My] public void MyMethod([My] int myParam) { // 方法的定义 } [My] public int MyProperty { [My] get { return myField; } [My] set { myField = value; } }
以上が属性使用法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。