MethodBase::IsPublic Property


Gets a value indicating whether this is a public method.

Namespace:   System.Reflection
Assembly:  mscorlib (in mscorlib.dll)

property bool IsPublic {
	virtual bool get() sealed;

Property Value

Type: System::Boolean

true if this method is public; otherwise, false.

To get the MethodBase, first get the type. From the type, get the method. From the method, get the MethodBase. If the MethodBase or constructor is other than public, it is protected and cannot be readily accessed. To access a non-public method, set the BindingFlags mask to NonPublic in GetMethod.

The following example uses the IsPublic property to display a message that indicates whether the specified method is public.

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" );
      Console::Write( "\nMymethodbase is not a public method" );

   return 0;

Produces the following output

Mymethodbase = System.Delegate RemoveImpl (System.Delegate)
Mymethodbase is not a public method

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top