ILGenerator.EmitCalli Method (OpCode, CallingConventions, Type, Type[], Type[])

 

Puts a Calli instruction onto the Microsoft intermediate language (MSIL) stream, specifying a managed calling convention for the indirect call.

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

public virtual void EmitCalli(
	OpCode opcode,
	CallingConventions callingConvention,
	Type returnType,
	Type[] parameterTypes,
	Type[] optionalParameterTypes
)

Parameters

opcode
Type: System.Reflection.Emit.OpCode

The MSIL instruction to be emitted onto the stream. Must be OpCodes.Calli.

callingConvention
Type: System.Reflection.CallingConventions

The managed calling convention to be used.

returnType
Type: System.Type

The Type of the result.

parameterTypes
Type: System.Type[]

The types of the required arguments to the instruction.

optionalParameterTypes
Type: System.Type[]

The types of the optional arguments for varargs calls.

Exception Condition
InvalidOperationException

optionalParameterTypes is not null, but callingConvention does not include the CallingConventions.VarArgs flag.

Use EmitCalli to put a Calli instruction onto the stream. Do not use Emit.

If optionalParameterTypes specifies optional arguments, callingConvention must include the CallingConventions.VarArgs flag.

.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Windows Phone Silverlight
Available since 8.0
Return to top
Show: