MethodBase.IsAbstract Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Wert ab, der angibt, ob es sich um eine abstrakte Methode handelt.
public:
property bool IsAbstract { bool get(); };
public bool IsAbstract { get; }
member this.IsAbstract : bool
Public ReadOnly Property IsAbstract As Boolean
Eigenschaftswert
true
, wenn die Methode abstrakt ist, andernfalls false
.
Implementiert
Beispiele
Im folgenden Beispiel wird bestimmt, ob die angegebene Methode abstrakt ist, und zeigt das Ergebnis an.
using namespace System;
using namespace System::Reflection;
int main()
{
Console::WriteLine( "\nReflection.MethodBase" );
// Get the types.
Type^ MyType1 = Type::GetType( "System.Runtime.Serialization.Formatter" );
Type^ MyType2 = Type::GetType( "System.Reflection.MethodBase" );
// Get and display the methods.
MethodBase^ Mymethodbase1 = MyType1->GetMethod( "WriteInt32", static_cast<BindingFlags>(BindingFlags::NonPublic | BindingFlags::Instance) );
MethodBase^ Mymethodbase2 = MyType2->GetMethod( "GetCurrentMethod", static_cast<BindingFlags>(BindingFlags::Public | BindingFlags::Static) );
Console::Write( "\nMymethodbase = {0}", Mymethodbase1 );
if ( Mymethodbase1->IsAbstract )
Console::Write( "\nMymethodbase is an abstract method." );
else
Console::Write( "\nMymethodbase is not an abstract method." );
Console::Write( "\n\nMymethodbase = {0}", Mymethodbase2 );
if ( Mymethodbase2->IsAbstract )
Console::Write( "\nMymethodbase is an abstract method." );
else
Console::Write( "\nMymethodbase is not an abstract method." );
return 0;
}
using System;
using System.Reflection;
// using System.Windows.Forms;
class methodbase
{
public static int Main(string[] args)
{
Console.WriteLine ("\nReflection.MethodBase");
// Get the types.
Type MyType1 = Type.GetType("System.Runtime.Serialization.Formatter");
Type MyType2 = Type.GetType("System.Reflection.MethodBase");
// Get and display the methods.
MethodBase Mymethodbase1 =
MyType1.GetMethod("WriteInt32", BindingFlags.NonPublic|BindingFlags.Instance);
MethodBase Mymethodbase2 =
MyType2.GetMethod("GetCurrentMethod", BindingFlags.Public|BindingFlags.Static);
Console.Write("\nMymethodbase = " + Mymethodbase1.ToString());
if (Mymethodbase1.IsAbstract)
Console.Write ("\nMymethodbase is an abstract method.");
else
Console.Write ("\nMymethodbase is not an abstract method.");
Console.Write("\n\nMymethodbase = " + Mymethodbase2.ToString());
if (Mymethodbase2.IsAbstract)
Console.Write ("\nMymethodbase is an abstract method.");
else
Console.Write ("\nMymethodbase is not an abstract method.");
return 0;
}
}
Imports System.Reflection
Class methodbase1
Public Shared Function Main() As Integer
Console.WriteLine("Reflection.MethodBase")
Console.WriteLine()
' Get the types.
Dim MyType1 As Type = _
Type.GetType("System.Runtime.Serialization.Formatter")
Dim MyType2 As Type = _
Type.GetType("System.Reflection.MethodBase")
' Get and display the methods
Dim Mymethodbase1 As MethodBase = _
MyType1.GetMethod("WriteInt32", BindingFlags.NonPublic Or BindingFlags.Instance)
Dim Mymethodbase2 As MethodBase = _
MyType2.GetMethod("GetCurrentMethod", BindingFlags.Public Or BindingFlags.Static)
Console.WriteLine("Mymethodbase = {0}", Mymethodbase1.ToString())
If Mymethodbase1.IsAbstract Then
Console.WriteLine(ControlChars.CrLf & "Mymethodbase is an abstract method.")
Else
Console.WriteLine(ControlChars.CrLf & "Mymethodbase is not an abstract method.")
End If
Console.Write("Mymethodbase = {0}", Mymethodbase2.ToString())
If Mymethodbase2.IsAbstract Then
Console.WriteLine(ControlChars.CrLf & "Mymethodbase is an abstract method.")
Else
Console.WriteLine(ControlChars.CrLf & "Mymethodbase is not an abstract method.")
End If
Return 0
End Function
End Class
Hinweise
Ein abstrakter Member wird für eine Basisklasse deklariert und verfügt über keine Bereitgestellte Implementierung.
Um den MethodBaseabzurufen, rufen Sie zuerst den Typ ab. Rufen Sie vom Typ die -Methode ab. Rufen Sie von der -Methode die MethodBase
ab. Wenn der - oder - MethodBase
Konstruktor nicht öffentlich ist, ist er geschützt und kann nicht ohne Weiteres darauf zugegriffen werden. Um auf eine nicht öffentliche Methode zuzugreifen, legen Sie die BindingFlags Maske in GetMethod
auf NonPublic
fest.