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>
Mono的CustomConditionAttribute使用
原文:https://www.cnblogs.com/nsharp/p/10347935.html