Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / Compiler / TypeSystem / AttributeInfo.cs / 1305376 / AttributeInfo.cs
namespace System.Workflow.ComponentModel.Compiler
{
using System;
using System.CodeDom;
using System.Collections;
using System.Globalization;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Collections.ObjectModel;
///
/// Summary description for AttributeInfo.
///
[CLSCompliant(false)]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property, AllowMultiple = true)]
public sealed class AttributeInfoAttribute : Attribute
{
private AttributeInfo attributeInfo;
internal AttributeInfoAttribute(AttributeInfo attributeInfo)
{
if (attributeInfo == null)
throw new ArgumentNullException("attributeInfo");
this.attributeInfo = attributeInfo;
}
internal static AttributeInfoAttribute CreateAttributeInfoAttribute(Type attributeType, string[] argumentNames, object[] argumentValues)
{
return new AttributeInfoAttribute(new AttributeInfo(attributeType, argumentNames, argumentValues));
}
public AttributeInfo AttributeInfo
{
get
{
return this.attributeInfo;
}
}
}
public sealed class AttributeInfo
{
#region Members and Constructors
private Type attributeType;
private string[] argumentNames;
private object[] argumentValues;
internal AttributeInfo(Type attributeType, string[] argumentNames, object[] argumentValues)
{
this.attributeType = attributeType;
this.argumentNames = (string[])argumentNames.Clone();
this.argumentValues = (object[])argumentValues.Clone();
}
#endregion
#region Properties
public Type AttributeType
{
get
{
return attributeType;
}
}
public ReadOnlyCollection