エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Attribute クラス

2013/12/12

カスタム属性の基本クラスを表します。

System.Object
  System.Attribute
    詳細情報...

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

[AttributeUsageAttribute(AttributeTargets.All, Inherited = true, AllowMultiple = false)]
public abstract class Attribute

Attribute 型で公開されるメンバーは以下のとおりです。

  名前説明
プロテクト メソッドAttributeAttribute クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック メソッドEqualsインフラストラクチャ。 対象のインスタンスが、指定したオブジェクトに等しいかどうかを示す値を返します。 (Object.Equals(Object) をオーバーライドします。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッド静的メンバーGetCustomAttribute(Assembly, Type)指定したアセンブリに適用されたカスタム属性を取得します。各パラメーターは、対象のアセンブリと検索対象のカスタム属性の型を指定します。
パブリック メソッド静的メンバーGetCustomAttribute(MemberInfo, Type)型のメンバーに適用されたカスタム属性を取得します。各パラメーターは、対象のメンバーと検索対象のカスタム属性の型を指定します。
パブリック メソッド静的メンバーGetCustomAttribute(Module, Type)モジュールに適用されたカスタム属性を取得します。各パラメーターは、対象のモジュールと検索対象のカスタム属性の型を指定します。
パブリック メソッド静的メンバーGetCustomAttribute(ParameterInfo, Type)メソッド パラメーターに適用されたカスタム属性を取得します。各パラメーターは、対象のメソッド パラメーターと検索対象のカスタム属性の型を指定します。
パブリック メソッド静的メンバーGetCustomAttribute(Assembly, Type, Boolean)アセンブリに適用されたカスタム属性を取得します。各パラメーターは、対象のアセンブリ、検索対象のカスタム属性の型、および無視する検索オプションを指定します。
パブリック メソッド静的メンバーGetCustomAttribute(MemberInfo, Type, Boolean)型のメンバーに適用されたカスタム属性を取得します。各パラメーターは、対象のメンバー、検索対象のカスタム属性の型、およびそのメンバーの先祖を検索するかどうかを指定します。
パブリック メソッド静的メンバーGetCustomAttribute(Module, Type, Boolean)モジュールに適用されたカスタム属性を取得します。各パラメーターは、対象のモジュール、検索対象のカスタム属性の型、および無視する検索オプションを指定します。
パブリック メソッド静的メンバーGetCustomAttribute(ParameterInfo, Type, Boolean)メソッド パラメーターに適用されたカスタム属性を取得します。各パラメーターは、対象のメソッド パラメーター、検索対象のカスタム属性の型、およびそのメソッド パラメーターの先祖を検索するかどうかを指定します。
パブリック メソッド静的メンバーGetCustomAttributes(Assembly)アセンブリに適用されたカスタム属性の配列を取得します。パラメーターは、対象のアセンブリを指定します。
パブリック メソッド静的メンバーGetCustomAttributes(MemberInfo)型のメンバーに適用されたカスタム属性の配列を取得します。パラメーターでメンバーを指定します。
パブリック メソッド静的メンバーGetCustomAttributes(Module)モジュールに適用されたカスタム属性の配列を取得します。パラメーターは、対象のモジュールを指定します。
パブリック メソッド静的メンバーGetCustomAttributes(ParameterInfo)メソッド パラメーターに適用されたカスタム属性の配列を取得します。パラメーターは、対象のメソッド パラメーターを指定します。
パブリック メソッド静的メンバーGetCustomAttributes(Assembly, Boolean)アセンブリに適用されたカスタム属性の配列を取得します。各パラメーターは、対象のアセンブリと無視する検索オプションを指定します。
パブリック メソッド静的メンバーGetCustomAttributes(Assembly, Type)アセンブリに適用されたカスタム属性の配列を取得します。各パラメーターは、対象のアセンブリと検索対象のカスタム属性の型を指定します。
パブリック メソッド静的メンバーGetCustomAttributes(MemberInfo, Boolean)型のメンバーに適用されたカスタム属性の配列を取得します。各パラメーターは、対象のメンバー、検索対象のカスタム属性の型、およびそのメンバーの先祖を検索するかどうかを指定します。
パブリック メソッド静的メンバーGetCustomAttributes(MemberInfo, Type)型のメンバーに適用されたカスタム属性の配列を取得します。各パラメーターは、対象のメンバーと検索対象のカスタム属性の型を指定します。
パブリック メソッド静的メンバーGetCustomAttributes(Module, Boolean)モジュールに適用されたカスタム属性の配列を取得します。各パラメーターは、対象のモジュールと無視する検索オプションを指定します。
パブリック メソッド静的メンバーGetCustomAttributes(Module, Type)モジュールに適用されたカスタム属性の配列を取得します。各パラメーターは、対象のモジュールと検索対象のカスタム属性の型を指定します。
パブリック メソッド静的メンバーGetCustomAttributes(ParameterInfo, Boolean)メソッド パラメーターに適用されたカスタム属性の配列を取得します。各パラメーターは、対象のメソッド パラメーターと、メソッド パラメーターの先祖を検索するかどうかを指定します。
パブリック メソッド静的メンバーGetCustomAttributes(ParameterInfo, Type)メソッド パラメーターに適用されたカスタム属性の配列を取得します。各パラメーターは、対象のメソッド パラメーターと検索対象のカスタム属性の型を指定します。
パブリック メソッド静的メンバーGetCustomAttributes(Assembly, Type, Boolean)アセンブリに適用されたカスタム属性の配列を取得します。各パラメーターは、対象のアセンブリ、検索対象のカスタム属性の型、および無視する検索オプションを指定します。
パブリック メソッド静的メンバーGetCustomAttributes(MemberInfo, Type, Boolean)型のメンバーに適用されたカスタム属性の配列を取得します。各パラメーターは、対象のメンバー、検索対象のカスタム属性の型、およびそのメンバーの先祖を検索するかどうかを指定します。
パブリック メソッド静的メンバーGetCustomAttributes(Module, Type, Boolean)モジュールに適用されたカスタム属性の配列を取得します。各パラメーターは、対象のモジュール、検索対象のカスタム属性の型、および無視する検索オプションを指定します。
パブリック メソッド静的メンバーGetCustomAttributes(ParameterInfo, Type, Boolean)メソッド パラメーターに適用されたカスタム属性の配列を取得します。各パラメーターは、対象のメソッド パラメーター、検索対象のカスタム属性の型、およびそのメソッド パラメーターの先祖を検索するかどうかを指定します。
パブリック メソッドGetHashCodeこのインスタンスのハッシュ コードを返します。 (Object.GetHashCode() をオーバーライドします。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド静的メンバーIsDefined(Assembly, Type)カスタム属性がアセンブリに適用されているかどうかを判断します。各パラメーターは、対象のアセンブリと検索対象のカスタム属性の型を指定します。
パブリック メソッド静的メンバーIsDefined(MemberInfo, Type)カスタム属性が型のメンバーに適用されているかどうかを判断します。各パラメーターは、対象のメンバーと検索対象のカスタム属性の型を指定します。
パブリック メソッド静的メンバーIsDefined(Module, Type)指定した型のカスタム属性がモジュールに適用されているかどうかを判断します。各パラメーターは、対象のモジュールと検索対象のカスタム属性の型を指定します。
パブリック メソッド静的メンバーIsDefined(ParameterInfo, Type)カスタム属性がメソッド パラメーターに適用されているかどうかを判断します。各パラメーターは、対象のメソッド パラメーターと検索対象のカスタム属性の型を指定します。
パブリック メソッド静的メンバーIsDefined(Assembly, Type, Boolean)カスタム属性がアセンブリに適用されているかどうかを判断します。各パラメーターは、対象のアセンブリ、検索対象のカスタム属性の型、および無視する検索オプションを指定します。
パブリック メソッド静的メンバーIsDefined(MemberInfo, Type, Boolean)カスタム属性が型のメンバーに適用されているかどうかを判断します。各パラメーターは、対象のメンバー、検索対象のカスタム属性の型、およびそのメンバーの先祖を検索するかどうかを指定します。
パブリック メソッド静的メンバーIsDefined(Module, Type, Boolean)カスタム属性がモジュールに適用されているかどうかを判断します。各パラメーターは、対象のモジュール、検索対象のカスタム属性の型、および無視する検索オプションを指定します。
パブリック メソッド静的メンバーIsDefined(ParameterInfo, Type, Boolean)カスタム属性がメソッド パラメーターに適用されているかどうかを判断します。各パラメーターは、対象のメソッド パラメーター、検索対象のカスタム属性の型、およびそのメソッド パラメーターの先祖を検索するかどうかを指定します。
パブリック メソッドMatch派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドToString現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
このページのトップへ

Attribute クラスは、定義済みのシステム情報またはユーザー定義のカスタム情報をターゲット要素に関連付けます。ターゲット要素には、アセンブリ、クラス、コンストラクター、デリゲート、列挙型、イベント、フィールド、インターフェイス、メソッド、移植可能な実行可能 (PE) ファイル モジュール、パラメーター、プロパティ、戻り値、構造体、または他の属性を指定できます。

属性が提供する情報は、メタデータとも呼ばれます。メタデータは、プログラムでデータをどのように処理するかを制御するために、アプリケーションによって実行時にチェックされる場合もあれば、アプリケーション自体をどのように処理または維持するかを制御するために、外部ツールによって実行時前にチェックされる場合もあります。たとえば、.NET Framework では、実行時の動作を制御するために、属性型を事前定義して使用します。また、一部のプログラミング言語では、属性型を使用して、.NET Framework の共通型システムで直接サポートされていない言語機能を表します。

すべての属性型は、Attribute クラスから直接または間接的に派生します。属性は、どのターゲット要素にでも適用できます。1 つのターゲット要素に複数の属性を適用できます。また、ターゲット要素から派生した要素に属性を継承することもできます。属性を適用するターゲット要素を指定するには、AttributeTargets クラスを使用します。

Attribute クラスには、カスタム属性を取得し、テストするための便利なメソッドが用意されています。

Attribute の使用方法を次のコード例に示します。

メモメモ:

この例を実行するには、「Windows Phone での静的 TextBlock コントロールのあるコード例のビルド」を参照してください。


using System;
using System.Reflection;

// An enumeration of animals. Start at 1 (0 = uninitialized).
public enum Animal
{
   // Pets.
   Dog = 1,
   Cat,
   Bird,
}

// A custom attribute to allow a target to have a pet.
public class AnimalTypeAttribute : Attribute
{
   // The constructor is called when the attribute is set.
   public AnimalTypeAttribute(Animal pet)
   {
      thePet = pet;
   }

   // Keep a variable internally ...
   protected Animal thePet;

   // .. and show a copy to the outside world.
   public Animal Pet
   {
      get { return thePet; }
      set { thePet = Pet; }
   }
}

// A test class where each method has its own pet.
class AnimalTypeTestClass
{
   [AnimalType(Animal.Dog)]
   public void DogMethod() { }

   [AnimalType(Animal.Cat)]
   public void CatMethod() { }

   [AnimalType(Animal.Bird)]
   public void BirdMethod() { }
}

class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      AnimalTypeTestClass testClass = new AnimalTypeTestClass();
      Type type = testClass.GetType();
      // Iterate through all the methods of the class.
      foreach (MethodInfo mInfo in type.GetMethods())
      {
         // Iterate through all the Attributes for each method.
         foreach (Attribute attr in
             Attribute.GetCustomAttributes(mInfo))
         {
            // Check for the AnimalType attribute.
            if (attr.GetType() == typeof(AnimalTypeAttribute))
               outputBlock.Text += String.Format(
                   "Method {0} has a pet {1} attribute.",
                   mInfo.Name, ((AnimalTypeAttribute)attr).Pet) + "\n";
         }

      }
   }
}
/*
 * Output:
 * Method DogMethod has a pet Dog attribute.
 * Method CatMethod has a pet Cat attribute.
 * Method BirdMethod has a pet Bird attribute.
 */


Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型は、スレッド セーフです。

リファレンス

System.Object
  System.Attribute
    Microsoft.Phone.Data.Linq.Mapping.IndexAttribute
    System.AttributeUsageAttribute
    System.CLSCompliantAttribute
    System.CodeDom.Compiler.GeneratedCodeAttribute
    System.ComponentModel.AlternateContentPropertyAttribute
    System.ComponentModel.BrowsableAttribute
    System.ComponentModel.CategoryAttribute
    System.ComponentModel.DefaultValueAttribute
    System.ComponentModel.DescriptionAttribute
    System.ComponentModel.EditorBrowsableAttribute
    System.ComponentModel.ReadOnlyAttribute
    System.ComponentModel.TypeConverterAttribute
    System.ContextStaticAttribute
    System.Data.Linq.Mapping.DataAttribute
    System.Data.Linq.Mapping.DatabaseAttribute
    System.Data.Linq.Mapping.InheritanceMappingAttribute
    System.Data.Linq.Mapping.TableAttribute
    System.Diagnostics.CodeAnalysis.SuppressMessageAttribute
    System.Diagnostics.ConditionalAttribute
    System.Diagnostics.Contracts.ContractAbbreviatorAttribute
    System.Diagnostics.Contracts.ContractArgumentValidatorAttribute
    System.Diagnostics.Contracts.ContractClassAttribute
    System.Diagnostics.Contracts.ContractClassForAttribute
    System.Diagnostics.Contracts.ContractInvariantMethodAttribute
    System.Diagnostics.Contracts.ContractOptionAttribute
    System.Diagnostics.Contracts.ContractPublicPropertyNameAttribute
    System.Diagnostics.Contracts.ContractReferenceAssemblyAttribute
    System.Diagnostics.Contracts.ContractRuntimeIgnoredAttribute
    System.Diagnostics.Contracts.ContractVerificationAttribute
    System.Diagnostics.Contracts.PureAttribute
    System.Diagnostics.DebuggableAttribute
    System.Diagnostics.DebuggerBrowsableAttribute
    System.Diagnostics.DebuggerDisplayAttribute
    System.Diagnostics.DebuggerHiddenAttribute
    System.Diagnostics.DebuggerNonUserCodeAttribute
    System.Diagnostics.DebuggerStepThroughAttribute
    System.Diagnostics.DebuggerTypeProxyAttribute
    System.FlagsAttribute
    System.MTAThreadAttribute
    System.ObsoleteAttribute
    System.ParamArrayAttribute
    System.Reflection.AssemblyAlgorithmIdAttribute
    System.Reflection.AssemblyCompanyAttribute
    System.Reflection.AssemblyConfigurationAttribute
    System.Reflection.AssemblyCopyrightAttribute
    System.Reflection.AssemblyCultureAttribute
    System.Reflection.AssemblyDefaultAliasAttribute
    System.Reflection.AssemblyDelaySignAttribute
    System.Reflection.AssemblyDescriptionAttribute
    System.Reflection.AssemblyFileVersionAttribute
    System.Reflection.AssemblyFlagsAttribute
    System.Reflection.AssemblyInformationalVersionAttribute
    System.Reflection.AssemblyKeyFileAttribute
    System.Reflection.AssemblyKeyNameAttribute
    System.Reflection.AssemblyMetadataAttribute
    System.Reflection.AssemblyProductAttribute
    System.Reflection.AssemblySignatureKeyAttribute
    System.Reflection.AssemblyTitleAttribute
    System.Reflection.AssemblyTrademarkAttribute
    System.Reflection.AssemblyVersionAttribute
    System.Reflection.DefaultMemberAttribute
    System.Resources.NeutralResourcesLanguageAttribute
    System.Resources.SatelliteContractVersionAttribute
    System.Runtime.CompilerServices.AccessedThroughPropertyAttribute
    System.Runtime.CompilerServices.CallerFilePathAttribute
    System.Runtime.CompilerServices.CallerLineNumberAttribute
    System.Runtime.CompilerServices.CallerMemberNameAttribute
    System.Runtime.CompilerServices.CodeGenerationAttribute
    System.Runtime.CompilerServices.CompilationRelaxationsAttribute
    System.Runtime.CompilerServices.CompilerGeneratedAttribute
    System.Runtime.CompilerServices.CustomConstantAttribute
    System.Runtime.CompilerServices.DecimalConstantAttribute
    System.Runtime.CompilerServices.DynamicAttribute
    System.Runtime.CompilerServices.ExtensionAttribute
    System.Runtime.CompilerServices.FixedBufferAttribute
    System.Runtime.CompilerServices.IndexerNameAttribute
    System.Runtime.CompilerServices.InternalsVisibleToAttribute
    System.Runtime.CompilerServices.MethodImplAttribute
    System.Runtime.CompilerServices.ReferenceAssemblyAttribute
    System.Runtime.CompilerServices.RuntimeCompatibilityAttribute
    System.Runtime.CompilerServices.StateMachineAttribute
    System.Runtime.CompilerServices.TypeForwardedFromAttribute
    System.Runtime.CompilerServices.TypeForwardedToAttribute
    System.Runtime.CompilerServices.UnsafeValueTypeAttribute
    System.Runtime.InteropServices.AllowReversePInvokeCallsAttribute
    System.Runtime.InteropServices.ClassInterfaceAttribute
    System.Runtime.InteropServices.CoClassAttribute
    System.Runtime.InteropServices.ComDefaultInterfaceAttribute
    System.Runtime.InteropServices.ComImportAttribute
    System.Runtime.InteropServices.ComVisibleAttribute
    System.Runtime.InteropServices.DefaultCharSetAttribute
    System.Runtime.InteropServices.DispIdAttribute
    System.Runtime.InteropServices.DllImportAttribute
    System.Runtime.InteropServices.FieldOffsetAttribute
    System.Runtime.InteropServices.GuidAttribute
    System.Runtime.InteropServices.InAttribute
    System.Runtime.InteropServices.InterfaceTypeAttribute
    System.Runtime.InteropServices.MarshalAsAttribute
    System.Runtime.InteropServices.OptionalAttribute
    System.Runtime.InteropServices.OutAttribute
    System.Runtime.InteropServices.PreserveSigAttribute
    System.Runtime.InteropServices.StructLayoutAttribute
    System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute
    System.Runtime.InteropServices.WindowsRuntime.DefaultInterfaceAttribute
    System.Runtime.InteropServices.WindowsRuntime.InterfaceImplementedInVersionAttribute
    System.Runtime.InteropServices.WindowsRuntime.ReadOnlyArrayAttribute
    System.Runtime.InteropServices.WindowsRuntime.ReturnValueNameAttribute
    System.Runtime.InteropServices.WindowsRuntime.WriteOnlyArrayAttribute
    System.Runtime.Serialization.CollectionDataContractAttribute
    System.Runtime.Serialization.ContractNamespaceAttribute
    System.Runtime.Serialization.DataContractAttribute
    System.Runtime.Serialization.DataMemberAttribute
    System.Runtime.Serialization.EnumMemberAttribute
    System.Runtime.Serialization.IgnoreDataMemberAttribute
    System.Runtime.Serialization.KnownTypeAttribute
    System.Runtime.Serialization.OnDeserializedAttribute
    System.Runtime.Serialization.OnDeserializingAttribute
    System.Runtime.Serialization.OnSerializedAttribute
    System.Runtime.Serialization.OnSerializingAttribute
    System.Runtime.Versioning.TargetFrameworkAttribute
    System.Security.AllowPartiallyTrustedCallersAttribute
    System.Security.Permissions.SecurityAttribute
    System.Security.SecurityCriticalAttribute
    System.Security.SecuritySafeCriticalAttribute
    System.Security.SecurityTransparentAttribute
    System.Security.UnverifiableCodeAttribute
    System.ServiceModel.DataContractFormatAttribute
    System.ServiceModel.FaultContractAttribute
    System.ServiceModel.MessageContractAttribute
    System.ServiceModel.MessageContractMemberAttribute
    System.ServiceModel.MessageParameterAttribute
    System.ServiceModel.OperationContractAttribute
    System.ServiceModel.ServiceContractAttribute
    System.ServiceModel.ServiceKnownTypeAttribute
    System.ServiceModel.XmlSerializerFormatAttribute
    System.STAThreadAttribute
    System.ThreadStaticAttribute
    System.Windows.Markup.ContentPropertyAttribute
    System.Windows.Markup.XmlnsDefinitionAttribute
    System.Windows.Markup.XmlnsPrefixAttribute
    System.Windows.StyleTypedPropertyAttribute
    System.Windows.TemplatePartAttribute
    System.Windows.TemplateVisualStateAttribute
    System.Xml.Serialization.XmlAnyAttributeAttribute
    System.Xml.Serialization.XmlAnyElementAttribute
    System.Xml.Serialization.XmlArrayAttribute
    System.Xml.Serialization.XmlArrayItemAttribute
    System.Xml.Serialization.XmlAttributeAttribute
    System.Xml.Serialization.XmlChoiceIdentifierAttribute
    System.Xml.Serialization.XmlElementAttribute
    System.Xml.Serialization.XmlEnumAttribute
    System.Xml.Serialization.XmlIgnoreAttribute
    System.Xml.Serialization.XmlIncludeAttribute
    System.Xml.Serialization.XmlNamespaceDeclarationsAttribute
    System.Xml.Serialization.XmlRootAttribute
    System.Xml.Serialization.XmlSchemaProviderAttribute
    System.Xml.Serialization.XmlTextAttribute
    System.Xml.Serialization.XmlTypeAttribute

表示:
© 2014 Microsoft