_MemberInfo.IsDefinedとは? わかりやすく解説

MemberInfo.IsDefined メソッド

派生クラスによってオーバーライドされた場合、このメンバattributeTypeインスタンス1 つ以上適用されているかどうか示します

名前空間: System.Reflection
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public MustOverride Function
 IsDefined ( _
    attributeType As Type, _
    inherit As Boolean _
) As Boolean
Dim instance As MemberInfo
Dim attributeType As Type
Dim inherit As Boolean
Dim returnValue As Boolean

returnValue = instance.IsDefined(attributeType, inherit)
public abstract bool IsDefined (
    Type attributeType,
    bool inherit
)
public:
virtual bool IsDefined (
    Type^ attributeType, 
    bool inherit
) abstract
public abstract boolean IsDefined (
    Type attributeType, 
    boolean inherit
)
public abstract function IsDefined (
    attributeType : Type, 
    inherit : boolean
) : boolean

パラメータ

attributeType

カスタム属性適用する対象Type オブジェクト

inherit

このメンバ継承チェイン検索して属性を見つけるかどうか指定します

戻り値
このメンバattributeTypeインスタンス1 つ以上適用されている場合trueそれ以外場合false

使用例使用例

指定した属性指定したメンバ適用されているかどうか調べる例を次に示します

Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic

' Define a custom attribute with one named parameter.
<AttributeUsage(AttributeTargets.All)> Public Class
 MyAttribute
    Inherits Attribute
    Private myName As String

    Public Sub New(ByVal
 name As String)
        myName = name
    End Sub 'New

    Public ReadOnly Property
 Name() As String
        Get
            Return myName
        End Get
    End Property
End Class 'MyAttribute

' Define a class that has the custom attribute associated with one of
 its members.
Public Class MyClass1

    <MyAttribute("This is an example attribute.")>
 Public Sub MyMethod(ByVal
 i As Integer)
        Return
    End Sub 'MyMethod
End Class 'MyClass1

Public Class MemberInfo_GetCustomAttributes_IsDefined

    Public Shared Sub Main()
        Try
            ' Get the type of MyClass1.
            Dim myType As Type = GetType(MyClass1)
            ' Get the members associated with MyClass1.
            Dim myMembers As MemberInfo() =
 myType.GetMembers()

            ' Display the attributes for each of the members of MyClass1.
            Dim i As Integer
            For i = 0 To myMembers.Length -
 1
                ' Display the attribute if it is of type MyAttribute.
                If myMembers(i).IsDefined(GetType(MyAttribute),
 False) Then
                    Dim myAttributes As [Object]()
 = myMembers(i).GetCustomAttributes(GetType(MyAttribute), False)
                    Console.WriteLine(ControlChars.Cr + "The attributes
 of type MyAttribute for the member {0} are: " + ControlChars.Cr, myMembers(i))
                    Dim j As Integer
                    For j = 0 To myAttributes.Length
 - 1
                        ' Display the value associated with the attribute.
                        Console.WriteLine("The value of the attribute
 is : ""{0}""",
 CType(myAttributes(j), MyAttribute).Name)
                    Next j
                End If
            Next i
        Catch e As Exception
            Console.WriteLine("An exception occurred: {0}",
 e.Message)
        End Try
    End Sub 'Main
End Class 'MemberInfo_GetCustomAttributes_IsDefined
using System;
using System.Reflection;

// Define a custom attribute with one named parameter.
[AttributeUsage(AttributeTargets.All)]
public class MyAttribute : Attribute
{
    private string myName;
    public MyAttribute(string name)
    {
        myName = name;
    }
    public string Name
    {
        get
        {
            return myName;
        }
    }
}

// Define a class that has the custom attribute associated with one
 of its members.
public class MyClass1
{
    [MyAttribute("This is an example attribute.")]
    public void MyMethod(int
 i)
    {
        return;
    }
}

public class MemberInfo_GetCustomAttributes_IsDefined
{
    public static void Main()
    {
        try
        {
            // Get the type of MyClass1.
            Type myType = typeof(MyClass1);
            // Get the members associated with MyClass1.
            MemberInfo[] myMembers = myType.GetMembers();

            // Display the attributes for each of the members of MyClass1.
            for(int i = 0; i < myMembers.Length;
 i++)
            {
                // Display the attribute if it is of type MyAttribute.
                if(myMembers[i].IsDefined(typeof(MyAttribute),
 false))
                {
                    Object[] myAttributes = myMembers[i].GetCustomAttributes(typeof(MyAttribute),
 false);
                    Console.WriteLine("\nThe attributes of type MyAttribute
 for the member {0} are: \n",
                        myMembers[i]);
                    for(int j = 0; j < myAttributes.Length;
 j++)
                        // Display the value associated with the attribute.
                        Console.WriteLine("The value of the attribute is : \"{0}\""
,
                            ((MyAttribute)myAttributes[j]).Name);
                }
            }
        }
        catch(Exception e)
        {
            Console.WriteLine("An exception occurred: {0}", e.Message);
        }
    }
}
using namespace System;
using namespace System::Reflection;

// Define a custom attribute with one named parameter.

[AttributeUsage(AttributeTargets::All)]
public ref class MyAttribute: public
 Attribute
{
private:
   String^ myName;

public:
   MyAttribute( String^ name )
   {
      myName = name;
   }

   property String^ Name 
   {
      String^ get()
      {
         return myName;
      }
   }
};

// Define a class that has the custom attribute associated with one
 of its members.
public ref class MyClass1
{
public:

   [MyAttribute("This is an example attribute.")]
   void MyMethod( int i ){}
};

int main()
{
   try
   {
      // Get the type of MyClass1.
      Type^ myType = MyClass1::typeid;

      // Get the members associated with MyClass1.
      array<MemberInfo^>^myMembers = myType->GetMembers();

      // Display the attributes for each of the members of MyClass1.
      for ( int i = 0; i < myMembers->Length;
 i++ )
      {
         // Display the attribute if it is of type MyAttribute.
         if ( myMembers[ i ]->IsDefined( MyAttribute::typeid,
 false ) )
         {
            array<Object^>^myAttributes = myMembers[ i ]->GetCustomAttributes(
 MyAttribute::typeid, false );
            Console::WriteLine( "\nThe attributes of type MyAttribute for
 the member {0} are: \n", myMembers[ i ] );
            for ( int j = 0; j < myAttributes->Length;
 j++ )

               // Display the value associated with the attribute.
               Console::WriteLine( "The value of the attribute is : \"{0}\""
,
                        (safe_cast<MyAttribute^>(myAttributes[ j ]))->Name
 );
         }
      }
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "An exception occurred: {0}", e->Message );
   }
}
import System.*;
import System.Reflection.*;

// Define a custom attribute with one named parameter.
/** @attribute AttributeUsage(AttributeTargets.All)
 */
public class MyAttribute extends Attribute
{
    private String myName;

    public MyAttribute(String name)
    {
        myName = name;
    } //MyAttribute

    /** @property 
     */
    public String get_Name()
    {
        return myName;
    } //get_Name
} //MyAttribute

// Define a class that has the custom attribute associated 
// with one of its members.
public class MyClass1
{
    /** @attribute MyAttribute("This is an example attribute.")
     */
    public void MyMethod(int
 i)
    {
        return;
    } //MyMethod
} //MyClass1

public class MemberInfo_GetCustomAttributes_IsDefined
{
    public static void main(String[]
 args)
    {
        try {
            // Get the type of MyClass1.
            Type myType = MyClass1.class.ToType();

            // Get the members associated with MyClass1.
            MemberInfo myMembers[] = myType.GetMembers();

            // Display the attributes for each of the members of MyClass1.
            for (int i = 0; i < myMembers.length;
 i++) {
                // Display the attribute if it is of type MyAttribute.
                if (((MemberInfo)myMembers.get_Item(i)).
                    IsDefined(MyAttribute.class.ToType(), false))
 {
                    Object myAttributes[] = ((MemberInfo)myMembers.get_Item(i)).
                        GetCustomAttributes(MyAttribute.class.ToType(),
 false);
                    Console.WriteLine("\nThe attributes of type MyAttribute
 for"
                        + " the member {0} are: \n", myMembers.get_Item(i));

                    for (int j = 0; j <
 myAttributes.length; j++) {
                        // Display the value associated with the attribute.
                        Console.WriteLine("The value of the attribute is : \""
 
                            + "{0}\"", ((MyAttribute)myAttributes.get_Item(j)).
                            get_Name());
                    }
                }
            }
        }
        catch (System.Exception e) {
            Console.WriteLine("An exception occurred: {0}", e.get_Message());
        }
    } //main
} //MemberInfo_GetCustomAttributes_IsDefined
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

_MemberInfo.IsDefined メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

COM オブジェクトに、MemberInfo.IsDefined メソッドへのバージョン依存しないアクセス用意されています。

このメソッドは、CLS準拠していません。  

名前空間: System.Runtime.InteropServices
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Function IsDefined ( _
    attributeType As Type, _
    inherit As Boolean _
) As Boolean
Dim instance As _MemberInfo
Dim attributeType As Type
Dim inherit As Boolean
Dim returnValue As Boolean

returnValue = instance.IsDefined(attributeType, inherit)
bool IsDefined (
    Type attributeType,
    bool inherit
)
bool IsDefined (
    Type^ attributeType, 
    bool inherit
)
boolean IsDefined (
    Type attributeType, 
    boolean inherit
)
function IsDefined (
    attributeType : Type, 
    inherit : boolean
) : boolean

パラメータ

attributeType

カスタム属性適用する対象Type オブジェクト

inherit

このメンバ継承チェーン検索して属性を見つける場合trueそれ以外場合false

戻り値
このメンバattributeType パラメータインスタンス1 つ以上適用されている場合trueそれ以外場合false

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
_MemberInfo インターフェイス
_MemberInfo メンバ
System.Runtime.InteropServices 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「_MemberInfo.IsDefined」の関連用語

_MemberInfo.IsDefinedのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



_MemberInfo.IsDefinedのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS