using System;
using System.Runtime.InteropServices;
namespace System.Reflection
{
/// Attaches a modifier to parameters so that binding can work with parameter signatures in which the types have been modified.
// Token: 0x02000263 RID: 611
[ComVisible(true)]
[Serializable]
public struct ParameterModifier
{
/// Initializes a new instance of the structure representing the specified number of parameters.
/// The number of parameters.
///
/// is negative.
// Token: 0x06001FBA RID: 8122 RVA: 0x000743F8 File Offset: 0x000725F8
public ParameterModifier(int parameterCount)
{
if (parameterCount <= 0)
{
throw new ArgumentException("Must specify one or more parameters.");
}
this._byref = new bool[parameterCount];
}
/// Gets or sets a value that specifies whether the parameter at the specified index position is to be modified by the current .
/// true if the parameter at this index position is to be modified by this ; otherwise, false.
/// The index position of the parameter whose modification status is being examined or set.
// Token: 0x170005EF RID: 1519
public bool this[int index]
{
get
{
return this._byref[index];
}
set
{
this._byref[index] = value;
}
}
// Token: 0x04000AFE RID: 2814
private bool[] _byref;
}
}