【发布时间】:2014-01-13 22:52:42
【问题描述】:
我们有这个代码:
public static class MyCLass
{
[Conditional("Debugging")]
public static void MyMethod()
{
Console.WriteLine("Example method");
}
}
.
.
.
//In debug mode: Executing Main method in debug mode
MyClass.MyMethod()
我只想知道条件属性如何改变 MyMethod 的行为,假设在 .NET 中条件属性定义为:
public class Conditional: Attribute
{
.
.
public string Mode { get; set; )
.
.
public Conditional(string Mode)
{
.
.
this.Mode = Mode;
if (Mode == "Debugging")
{
#ifdef DEBUG
//HOW THE CONDITIONAL CONSTRUCTOR COULD CHANGE THE BEHAVIOUR OF MyMethod
#endif
}
.
.
}
}
如何访问由我的属性(即来自 MyAttribute 类)修饰的资源(方法、成员、类..)?
【问题讨论】:
-
剧透:它被硬编码到编译器中。
标签: c# .net debugging conditional custom-attributes