Mono的CustomConditionAttribute使用

1.Mono的CustomConditionAttribute使用有诸多的限制,没有在XML中定义来的灵活

2.CustomConditionAttribute定义的子类必须和ExtensionAttribute配合使用

3.ExtensionAttribute的NodeName的值和ExtensionNode 的name属性必须一致(可以都不设置)

[AuthorizeConditionAttribute("true")]
[ExtensionAttribute("/A/B"/*,NodeName ="Node1"/)]
public class A : ICommand
    public class AuthorizeConditionAttribute : CustomConditionAttribute
    {
        public AuthorizeConditionAttribute([NodeAttribute("value")]string value)
        {
            this.Value = value;
        }
        [NodeAttribute("value")]
        public string Value
        {
            get;
        }
    }

 <ExtensionNodeSet id = "A.B" >
   <!-name和上面的 A的ExtensionAttribute的NodeName一致 -->
    <ExtensionNode name="Node1">
      <!--如果使用扩展CustomConditionAttribute进行描述-->
      <Description>可以使用CustomConditionAttribute</Description>
    </ExtensionNode>
  </ExtensionNodeSet>

原文地址:https://www.cnblogs.com/nsharp/p/10347935.html