// // // // // // using System; using System.Reflection; /// /// Indicates that field should be treated as a xml attribute for the codon or condition. /// The field is treated as a array, separated by ',' example : /// fileextensions = ".cpp,.cc,.C" /// [AttributeUsage(AttributeTargets.Field, Inherited=true)] public class XmlMemberArrayAttribute : Attribute { char[] separator = new char[] { ',' }; string name; bool isRequired; /// /// Constructs a new instance. /// public XmlMemberArrayAttribute(string name) { this.name = name; isRequired = false; } public char[] Separator { get { return separator; } set { separator = value; } } /// /// The name of the attribute. /// public string Name { get { return name; } set { name = value; } } /// /// returns true if this attribute is required. /// public bool IsRequired { get { return isRequired; } set { isRequired = value; } } } public class t { [XmlMemberArrayAttribute("shortcut", Separator=new char[] { '|'})] string[] shortcut; public static void Main () { } }