MethodBase.IsPublic Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera wartość wskazującą, czy jest to metoda publiczna.
public:
property bool IsPublic { bool get(); };
public bool IsPublic { get; }
member this.IsPublic : bool
Public ReadOnly Property IsPublic As Boolean
Wartość właściwości
true
jeśli ta metoda jest publiczna; w przeciwnym razie , false
.
Implementuje
Przykłady
W poniższym przykładzie użyto IsPublic właściwości , aby wyświetlić komunikat wskazujący, czy określona metoda jest publiczna.
int main()
{
Console::WriteLine( "\nReflection.MethodBase" );
//Get the MethodBase of a method.
//Get the type
Type^ MyType = Type::GetType( "System.MulticastDelegate" );
//Get and display the method
MethodBase^ Mymethodbase = MyType->GetMethod( "RemoveImpl", static_cast<BindingFlags>(BindingFlags::NonPublic | BindingFlags::Instance) );
Console::Write( "\nMymethodbase = {0}", Mymethodbase );
bool Myispublic = Mymethodbase->IsPublic;
if ( Myispublic )
Console::Write( "\nMymethodbase is a public method" );
else
Console::Write( "\nMymethodbase is not a public method" );
return 0;
}
/*
Produces the following output
Reflection.MethodBase
Mymethodbase = System.Delegate RemoveImpl (System.Delegate)
Mymethodbase is not a public method
*/
class methodbase
{
public static int Main(string[] args)
{
Console.WriteLine("\nReflection.MethodBase");
//Get the MethodBase of a method.
//Get the type
Type MyType = Type.GetType("System.MulticastDelegate");
//Get and display the method
MethodBase Mymethodbase =
MyType.GetMethod("RemoveImpl",BindingFlags.NonPublic);
Console.Write("\nMymethodbase = " + Mymethodbase);
bool Myispublic = Mymethodbase.IsPublic;
if (Myispublic)
Console.Write ("\nMymethodbase is a public method");
else
Console.Write ("\nMymethodbase is not a public method");
return 0;
}
}
/*
Produces the following output
Reflection.MethodBase
Mymethodbase = System.Delegate RemoveImpl (System.Delegate)
Mymethodbase is not a public method
*/
Class methodbase1
Public Shared Function Main() As Integer
Console.WriteLine(ControlChars.Cr + "Reflection.MethodBase")
'Get the MethodBase of a method.
'Get the type
Dim MyType As Type = Type.GetType("System.MulticastDelegate")
'Get and display the method
Dim Mymethodbase As MethodBase = _
MyType.GetMethod("RemoveImpl", BindingFlags.NonPublic)
Console.Write(ControlChars.Cr _
+ "Mymethodbase = " + Mymethodbase.ToString())
Dim Myispublic As Boolean = Mymethodbase.IsPublic
If Myispublic Then
Console.Write(ControlChars.Cr _
+ "Mymethodbase is a public method")
Else
Console.Write(ControlChars.Cr _
+ "Mymethodbase is not a public method")
End If
Return 0
End Function
End Class
' Produces the following output
'
' Reflection.MethodBase
' Mymethodbase = System.Delegate RemoveImpl (System.Delegate)
' Mymethodbase is not a public method
Uwagi
Aby uzyskać element MethodBase, najpierw uzyskaj typ . Z typu pobierz metodę . Z metody pobierz metodę MethodBase
.
MethodBase
Jeśli konstruktor lub jest inny niż publiczny, jest chroniony i nie można go łatwo uzyskać. Aby uzyskać dostęp do metody innej niż publiczna, ustaw maskę BindingFlags na NonPublic
w GetMethod
.