IMethodMessage::MethodName Property

 

Gets the name of the invoked method.

Namespace:   System.Runtime.Remoting.Messaging
Assembly:  mscorlib (in mscorlib.dll)

property String^ MethodName {
	[SecurityCriticalAttribute]
	String^ get();
}

Property Value

Type: System::String^

The name of the invoked method.

Exception Condition
SecurityException

The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.

The following example code shows a custom proxy that overrides RealProxy.Invoke in order to write the name of the method to the console.

// Overriding the Invoke method of RealProxy.
virtual IMessage^ Invoke( IMessage^ message ) override
{
   IMethodMessage^ myMethodMessage = dynamic_cast<IMethodMessage^>(message);
   Console::WriteLine( "**** Begin Invoke ****" );
   Console::WriteLine( "\tType is : {0}", myType );
   Console::WriteLine( "\tMethod name : {0}", myMethodMessage->MethodName );
   for ( int i = 0; i < myMethodMessage->ArgCount; i++ )
   {
      Console::WriteLine( "\tArgName is : {0}", myMethodMessage->GetArgName( i ) );
      Console::WriteLine( "\tArgValue is: {0}", myMethodMessage->GetArg( i ) );

   }
   if ( myMethodMessage->HasVarArgs )
         Console::WriteLine( "\t The method have variable arguments!!" );
   else
         Console::WriteLine( "\t The method does not have variable arguments!!" );


   // Dispatch the method call to the real Object*.
   Object^ returnValue = myType->InvokeMember( myMethodMessage->MethodName, BindingFlags::InvokeMethod, nullptr, myObjectInstance, myMethodMessage->Args );
   Console::WriteLine( "**** End Invoke ****" );

   // Build the return message to pass back to the transparent proxy.
   ReturnMessage^ myReturnMessage = gcnew ReturnMessage( returnValue,nullptr,0,nullptr,dynamic_cast<IMethodCallMessage^>(message) );
   return myReturnMessage;
}

SecurityPermission

for operating with infrastructure code. Demand value: SecurityAction::LinkDemand; Permission value: SecurityPermissionFlag::Infrastructure

.NET Framework
Available since 1.1
Return to top
Show: