using System;
using System.Reflection;
using System.Runtime.InteropServices;
namespace System.Runtime.Remoting.Messaging
{
/// Defines the method message interface.
// Token: 0x020003ED RID: 1005
[ComVisible(true)]
public interface IMethodMessage : IMessage
{
/// Gets the number of arguments passed to the method.
/// The number of arguments passed to the method.
/// The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.
///
///
///
// Token: 0x17000767 RID: 1895
// (get) Token: 0x0600271F RID: 10015
int ArgCount { get; }
/// Gets an array of arguments passed to the method.
/// An array containing the arguments passed to the method.
/// The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.
///
///
///
// Token: 0x17000768 RID: 1896
// (get) Token: 0x06002720 RID: 10016
object[] Args { get; }
/// Gets a value indicating whether the message has variable arguments.
/// true if the method can accept a variable number of arguments; otherwise, false.
/// The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.
///
///
///
// Token: 0x17000769 RID: 1897
// (get) Token: 0x06002721 RID: 10017
bool HasVarArgs { get; }
/// Gets the for the current method call.
/// Gets the for the current method call.
/// The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.
///
///
///
// Token: 0x1700076A RID: 1898
// (get) Token: 0x06002722 RID: 10018
LogicalCallContext LogicalCallContext { get; }
/// Gets the of the called method.
/// The of the called method.
/// The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.
///
///
///
// Token: 0x1700076B RID: 1899
// (get) Token: 0x06002723 RID: 10019
MethodBase MethodBase { get; }
/// Gets the name of the invoked method.
/// The name of the invoked method.
/// The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.
///
///
///
// Token: 0x1700076C RID: 1900
// (get) Token: 0x06002724 RID: 10020
string MethodName { get; }
/// Gets an object containing the method signature.
/// An object containing the method signature.
/// The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.
///
///
///
// Token: 0x1700076D RID: 1901
// (get) Token: 0x06002725 RID: 10021
object MethodSignature { get; }
/// Gets the full name of the specific object that the call is destined for.
/// The full name of the specific object that the call is destined for.
/// The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.
///
///
///
// Token: 0x1700076E RID: 1902
// (get) Token: 0x06002726 RID: 10022
string TypeName { get; }
/// Gets the URI of the specific object that the call is destined for.
/// The URI of the remote object that contains the invoked method.
/// The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.
///
///
///
// Token: 0x1700076F RID: 1903
// (get) Token: 0x06002727 RID: 10023
string Uri { get; }
/// Gets a specific argument as an .
/// The argument passed to the method.
/// The number of the requested argument.
/// The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.
// Token: 0x06002728 RID: 10024
object GetArg(int argNum);
/// Gets the name of the argument passed to the method.
/// The name of the specified argument passed to the method, or null if the current method is not implemented.
/// The number of the requested argument.
/// The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.
// Token: 0x06002729 RID: 10025
string GetArgName(int index);
}
}