Прочитать на английском

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


MethodBase.IsPublic Свойство

Определение

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

public bool IsPublic { get; }

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

Значение true, если метод является открытым; в противном случае — значение false.

Реализации

Примеры

В следующем примере свойство используется для IsPublic отображения сообщения, указывающего, является ли указанный метод открытым.

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
*/

Комментарии

Чтобы получить MethodBase, сначала получите тип . Из типа получите метод . Из метода получите MethodBase. MethodBase Если конструктор или не является общедоступным, он защищен и не может быть легкодоступен. Чтобы получить доступ к недоступным методу, задайте для маски BindingFlags значение NonPublic в GetMethod.

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

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

См. также раздел