Поделиться через


MethodInfo.MemberType Свойство

Определение

Возвращает значение MemberTypes, указывающее, что этот элемент является методом.

public:
 virtual property System::Reflection::MemberTypes MemberType { System::Reflection::MemberTypes get(); };
public override System.Reflection.MemberTypes MemberType { get; }
member this.MemberType : System.Reflection.MemberTypes
Public Overrides ReadOnly Property MemberType As MemberTypes

Значение свойства

Значение MemberTypes, указывающее, что этот элемент является методом.

Реализации

Примеры

В следующем примере показан тип указанного элемента.

using namespace System;
using namespace System::Reflection;
int main()
{
   Console::WriteLine( "Reflection.MethodInfo" );
   
   // Get the Type and MethodInfo.
   Type^ MyType = Type::GetType( "System.Reflection.FieldInfo" );
   MethodInfo^ Mymethodinfo = MyType->GetMethod( "GetValue" );
   Console::WriteLine( "{0}.{1}", MyType->FullName, Mymethodinfo->Name );
   
   // Get and display the MemberType property.
   MemberTypes Mymembertypes = Mymethodinfo->MemberType;
   if ( MemberTypes::Constructor == Mymembertypes )
   {
      Console::WriteLine( "MemberType is of type All." );
   }
   else
   if ( MemberTypes::Custom == Mymembertypes )
   {
      Console::WriteLine( "MemberType is of type Custom." );
   }
   else
   if ( MemberTypes::Event == Mymembertypes )
   {
      Console::WriteLine( "MemberType is of type Event." );
   }
   else
   if ( MemberTypes::Field == Mymembertypes )
   {
      Console::WriteLine( "MemberType is of type Field." );
   }
   else
   if ( MemberTypes::Method == Mymembertypes )
   {
      Console::WriteLine( "MemberType is of type Method." );
   }
   else
   if ( MemberTypes::Property == Mymembertypes )
   {
      Console::WriteLine( "MemberType is of type Property." );
   }
   else
   if ( MemberTypes::TypeInfo == Mymembertypes )
   {
      Console::WriteLine( "MemberType is of type TypeInfo." );
   }







   return 0;
}
using System;
using System.Reflection;

class MyMethodInfo
{
    public static int Main()
    {
        Console.WriteLine("Reflection.MethodInfo");

        // Get the Type and MethodInfo.
        Type MyType = Type.GetType("System.Reflection.FieldInfo");
        MethodInfo Mymethodinfo = MyType.GetMethod("GetValue");
        Console.WriteLine(MyType.FullName + "." + Mymethodinfo.Name);

        // Get and display the MemberType property.
        MemberTypes Mymembertypes = Mymethodinfo.MemberType;

        if (MemberTypes.Constructor == Mymembertypes)
        {
            Console.WriteLine("MemberType is of type All.");
        }
        else if (MemberTypes.Custom == Mymembertypes)
        {
            Console.WriteLine("MemberType is of type Custom.");
        }
        else if (MemberTypes.Event == Mymembertypes)
        {
            Console.WriteLine("MemberType is of type Event.");
        }
        else if (MemberTypes.Field == Mymembertypes)
        {
            Console.WriteLine("MemberType is of type Field.");
        }
        else if (MemberTypes.Method == Mymembertypes)
        {
            Console.WriteLine("MemberType is of type Method.");
        }
        else if (MemberTypes.Property == Mymembertypes)
        {
            Console.WriteLine("MemberType is of type Property.");
        }
        else if (MemberTypes.TypeInfo == Mymembertypes)
        {
            Console.WriteLine("MemberType is of type TypeInfo.");
        }

        return 0;
    }
}
Imports System.Reflection

Class MyMethodInfo

    Public Shared Function Main() As Integer
        Console.WriteLine("Reflection.MethodInfo")

        ' Get the Type and MethodInfo.
        Dim MyType As Type = Type.GetType("System.Reflection.FieldInfo")
        Dim Mymethodinfo As MethodInfo = MyType.GetMethod("GetValue")
        Console.WriteLine(MyType.FullName + "." + Mymethodinfo.Name)

        ' Get and display the MemberType property.
        Dim Mymembertypes As MemberTypes = Mymethodinfo.MemberType

        If MemberTypes.Constructor = Mymembertypes Then
            Console.WriteLine("MemberType is of type All.")

        ElseIf MemberTypes.Custom = Mymembertypes Then
            Console.WriteLine("MemberType is of type Custom.")

        ElseIf MemberTypes.Event = Mymembertypes Then
            Console.WriteLine("MemberType is of type Event.")

        ElseIf MemberTypes.Field = Mymembertypes Then
            Console.WriteLine("MemberType is of type Field.")

        ElseIf MemberTypes.Method = Mymembertypes Then
            Console.WriteLine("MemberType is of type Method.")

        ElseIf MemberTypes.Property = Mymembertypes Then
            Console.WriteLine("MemberType is of type Property.")

        ElseIf MemberTypes.TypeInfo = Mymembertypes Then
            Console.WriteLine("MemberType is of type TypeInfo.")

        End If
        Return 0
    End Function
End Class

Комментарии

Это свойство переопределяет MemberInfo.MemberType. Таким образом, при проверке набора MemberInfo объектов , например массива, возвращаемого методом GetMembers , MemberType свойство возвращается MemberTypes.Method только в том случае, если заданный член является методом .

Чтобы получить MemberType свойство , сначала получите класс Type. TypeИз получите MethodInfo. MethodInfoИз получите MemberType.

Применяется к