Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

75 lines
1.4 KiB
C#

// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Mike Krüger" email="mike@icsharpcode.net"/>
// <version value="$version"/>
// </file>
using System;
using System.Reflection;
/// <summary>
/// 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"
/// </summary>
[AttributeUsage(AttributeTargets.Field, Inherited=true)]
public class XmlMemberArrayAttribute : Attribute
{
char[] separator = new char[] { ',' };
string name;
bool isRequired;
/// <summary>
/// Constructs a new instance.
/// </summary>
public XmlMemberArrayAttribute(string name)
{
this.name = name;
isRequired = false;
}
public char[] Separator {
get {
return separator;
}
set {
separator = value;
}
}
/// <summary>
/// The name of the attribute.
/// </summary>
public string Name {
get {
return name;
}
set {
name = value;
}
}
/// <summary>
/// returns <code>true</code> if this attribute is required.
/// </summary>
public bool IsRequired {
get {
return isRequired;
}
set {
isRequired = value;
}
}
}
public class t
{
[XmlMemberArrayAttribute("shortcut", Separator=new char[] { '|'})]
string[] shortcut;
public static void Main () { }
}