using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace System.Reflection { [AttributeUsage(AttributeTargets.Assembly)] public class ProcessorAssemblyArchitecture : Attribute { public ProcessorAssemblyArchitecture() { ProcessorArchitecture = Undefined; } public ProcessorAssemblyArchitecture(string arch) { Type t = typeof(ProcessorAssemblyArchitecture); FieldInfo[] fields = t.GetFields(BindingFlags.Public | BindingFlags.Static); bool found = false; foreach (FieldInfo field in fields) { string o = field.GetValue(null).ToString(); if (arch == o) { found = true; break; } } if (!found) { ProcessorArchitecture = Undefined; } else { ProcessorArchitecture = arch; } } string _ProcessorArchitecture; public string ProcessorArchitecture { get { return _ProcessorArchitecture; } private set { _ProcessorArchitecture = value; } } #region processor architecture public const string Undefined = "Undefined"; public const string x86 = "x86"; public const string x64 = "x64"; public const string Amd64 = "Amd64"; public const string Ia64 = "Ia64"; public const string AnyCpu = "AnyCpu"; #endregion } }