Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad IMethodMessage.MethodName

 

Publicado: octubre de 2016

Obtiene el nombre del método invocado.

Espacio de nombres:   System.Runtime.Remoting.Messaging
Ensamblado:  mscorlib (en mscorlib.dll)

string MethodName {
	[SecurityCriticalAttribute]
	get;
}

Valor de propiedad

Type: System.String

El nombre del método invocado.

Exception Condition
SecurityException

El llamador inmediato realiza la llamada mediante una referencia a la interfaz y no tiene permiso de infraestructura.

El ejemplo de código siguiente muestra un proxy personalizado que reemplaza RealProxy.Invoke para escribir el nombre del método en la consola.

// Overriding the Invoke method of RealProxy.
public override IMessage Invoke(IMessage message)
{
   IMethodMessage myMethodMessage = (IMethodMessage)message;

   Console.WriteLine("**** Begin Invoke ****");
   Console.WriteLine("\tType is : " + myType);
   Console.WriteLine("\tMethod name : " +  myMethodMessage.MethodName);

   for (int i=0; i < myMethodMessage.ArgCount; i++)
   {
      Console.WriteLine("\tArgName is : " + myMethodMessage.GetArgName(i));
      Console.WriteLine("\tArgValue is: " + 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, null,
                                        myObjectInstance, myMethodMessage.Args );
   Console.WriteLine("**** End Invoke ****");

   // Build the return message to pass back to the transparent proxy.
   ReturnMessage myReturnMessage = new ReturnMessage( returnValue, null, 0, null,
       (IMethodCallMessage)message );
   return myReturnMessage;
}

SecurityPermission

for operating with infrastructure code. Demand value: F:System.Security.Permissions.SecurityAction.LinkDemand; Permission value: F:System.Security.Permissions.SecurityPermissionFlag.Infrastructure

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: