IMethodMessage.ArgCount Propriété

Définition

Obtient le nombre d'arguments passés à la méthode.

C#
public int ArgCount { get; }
C#
public int ArgCount { [System.Security.SecurityCritical] get; }

Valeur de propriété

Nombre d'arguments passés à la méthode.

Attributs

Exceptions

L’appelant immédiat effectue l’appel via une référence à l’interface et ne dispose pas d’autorisation d’infrastructure.

Exemples

L’exemple de code suivant montre un proxy personnalisé qui remplace RealProxy.Invoke afin d’écrire les informations de message dans la console, en utilisant la ArgCount propriété pour itérer au sein des arguments.

C#
// 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;
}

S’applique à

Produit Versions
.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