代码:
public class CashIErOut : BaseActivity{ [Description("Flag indicates whether break to execution.")] [DefaultValue(false)] [MyCustomAttribute(ParameterGroups.Extended)] public bool CancelExecution { get; set; } [Description("Flag indicates whether allow exit before declation.")] [DefaultValue(true)] [MyCustomAttribute(ParameterGroups.Extended)] [displayname("Exit before declaration?")] public bool AllowExitBeforeDeclare { get; set; }}
我想做这样的事情:
public class CashIErOut : BaseActivity{ [MyResourceCustom("CashIErOut.CancelExecution")] public bool CancelExecution { get; set; } [MyResourceCustom("CashIErOut.AllowExitBeforeDeclare")] public bool AllowExitBeforeDeclare { get; set; }}public sealed class MyResourceCustom : Attribute{ public string ResourcePath { get; private set; } public ParameterGroupAttribute(string resourcePath) { ResourcePath = resourcePath; // Get attributes attributes value from external resource using the path. }}解决方法 属性只是将元数据添加到他们定义的成员 – 他们自己什么都不做.
您必须使用反射才能根据属性值产生一些行为.
这就是所有属性的工作原理 – 一些工具知道某些属性(如编译器和ConditionalAttribute),但这仍然是通过反射完成的.
总结以上是内存溢出为你收集整理的C#属性:统治它们的一个属性?全部内容,希望文章能够帮你解决C#属性:统治它们的一个属性?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)