a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
75 lines
1.4 KiB
C#
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 () { }
|
|
|
|
}
|