我想做这样的事情:
[Notes("Remember to blah blah blah")]
public class Foo {
[Notes("Redo this to include blah blah")]
public string Bar { get; set; }
// etc.
}
我知道ConditionalAttribute
,但它是密封的,因此我无法将NotesAttribute
从其中继承。
可以这样做吗?
答案 0 :(得分:1)
一种可能的解决方案是使用预处理器:
https://msdn.microsoft.com/en-us/library/4y6tbswk.aspx
#if DEBUG
[Notes("Remember to blah blah blah")]
#endif
public class Foo {
[Notes("Redo this to include blah blah")]
public string Bar { get; set; }
// etc.
}
答案 1 :(得分:1)
是的,这可以做到!
查看我的related question and answer here。
你需要这样做:
[Conditional("DEBUG")]
public class NotesAttribute : Attribute { }
答案 2 :(得分:0)
您可以从此处获取ConditionalAttribute
的源代码:
http://referencesource.microsoft.com/#mscorlib/system/diagnostics/conditionalattribute.cs
然后,您只需复制代码并重命名该类,即可获得您的属性。