Freigeben über


MethodBase.IsPublic Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob es sich um eine öffentliche Methode handelt.

public:
 property bool IsPublic { bool get(); };
public bool IsPublic { get; }
member this.IsPublic : bool
Public ReadOnly Property IsPublic As Boolean

Eigenschaftswert

truewenn diese Methode öffentlich ist; andernfalls . false

Implementiert

Beispiele

Im folgenden Beispiel wird die IsPublic Eigenschaft verwendet, um eine Meldung anzuzeigen, die angibt, ob die angegebene Methode öffentlich ist.

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

Hinweise

Um den MethodBaseTyp abzurufen, rufen Sie zuerst den Typ ab. Rufen Sie aus dem Typ die Methode ab. Rufen Sie aus der Methode die MethodBase. Wenn der MethodBase Konstruktor nicht öffentlich ist, ist er geschützt und kann nicht sofort darauf zugegriffen werden. Um auf eine nicht öffentliche Methode zuzugreifen, legen Sie die BindingFlags Maske auf NonPublic "in" GetMethodfest.

Gilt für:

Weitere Informationen