SetArgument(int, object)
Sets the value of the ref
or out
argument at a given index. Replacing an argument value is supported only in some advices
and is silently ignored in non-supported scenarios. See Remarks for details.
Declaration
public virtual void SetArgument(int index, object value)
Parameters
Type | Name | Description |
---|---|---|
int | index | Argument index. |
object | value | New value of the ref or out argument at position |
Remarks
Replacing a parameter value is supported in the following scenarios:
- In OnSuccess(MethodExecutionArgs) and OnExit(MethodExecutionArgs) advices, to replace
the value of
ref
andout
parameters. - In any interception advice (such as OnInvoke(MethodInterceptionArgs) or OnSetValue(LocationInterceptionArgs)),
to set the value passed to the next node in the chain of responsibility, or the value of
ref
andout
parameters.
Setting the value in a different situation is unsupported and has unspecified behavior.
Exceptions
Type | Condition |
---|---|
InvalidCastException |
|
ArgumentOutOfRangeException |
|