52 lines
1.1 KiB
C#
52 lines
1.1 KiB
C#
using System.Diagnostics.Contracts;
|
|
// ==++==
|
|
//
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//
|
|
// ==--==
|
|
// <OWNER>[....]</OWNER>
|
|
//
|
|
|
|
namespace System.Reflection
|
|
{
|
|
using System;
|
|
|
|
[Serializable]
|
|
[System.Runtime.InteropServices.ComVisible(true)]
|
|
public struct ParameterModifier
|
|
{
|
|
#region Private Data Members
|
|
private bool[] _byRef;
|
|
#endregion
|
|
|
|
#region Constructor
|
|
public ParameterModifier(int parameterCount)
|
|
{
|
|
if (parameterCount <= 0)
|
|
throw new ArgumentException(Environment.GetResourceString("Arg_ParmArraySize"));
|
|
Contract.EndContractBlock();
|
|
|
|
_byRef = new bool[parameterCount];
|
|
}
|
|
#endregion
|
|
|
|
#region Internal Members
|
|
internal bool[] IsByRefArray { get { return _byRef; } }
|
|
#endregion
|
|
|
|
#region Public Members
|
|
public bool this[int index]
|
|
{
|
|
get
|
|
{
|
|
return _byRef[index];
|
|
}
|
|
set
|
|
{
|
|
_byRef[index] = value;
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|