我有以下自定义属性:
[AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
sealed public class CLSASafeAttribute : Attribute
{
public Boolean CLSSafe { get; set; }
public CLSASafeAttribute(Boolean safe)
{
CLSSafe = safe;
}
}
以及以下枚举部分:
public enum BaseTypes
{
/// <summary>
/// Base class.
/// </summary>
[CLSASafe(true)]
Object = 0,
/// <summary>
/// True / false.
/// </summary>
[CLSASafe(true)]
Boolean,
/// <summary>
/// Signed 8 bit integer.
/// </summary>
[CLSASafe(false)]
Int8
}
我现在希望能够为每个枚举创建一个唯一的类,并能够通过查看正在实现的类型将其标记为 CLSSafe。我有以下内容,这显然是不正确的,但说明了我的意图:
[CLSASafe((Boolean)typeof(BaseTypes.Object).GetCustomAttributes(typeof(BaseTypes.Object), false))]
sealed public class BaseObject : Field
{
public Object Value;
}
有没有办法做到这一点(除了手动标记签名)?