也许有一个替代postsharp的运行时开/关功能?
更新1:我想出了主意,但我不知道它是否合适.这是一个例子
public class Smth { private long i = 0; [TraceAttribute] public voID Execute() { Console.Writeline("Execute call" + i++); Thread.Sleep(200); } } [Serializable] public class TraceAttribute : OnMethodBoundaryAspect { public overrIDe voID OnEntry(MethodExecutionArgs args) { if(Manager.IsEnabled) { Console.Writeline(); Console.Writeline(string.Format("Entering {0}",args.Method.name)); } } public overrIDe voID OnExit(MethodExecutionArgs args) { if(Manager.IsEnabled) { Console.Writeline(string.Format("Leaving {0}",args.Method.name)); Console.Writeline(); } } } public static class Manager { public static bool IsEnabled { get; set; } static Manager() { IsEnabled = true; } }
通过更改IsEnabled属性,我可以打开/关闭跟踪…
还有其他建议吗?
免责声明:我假设OP想要在没有重建的情况下这样做,因为他说运行时让我相信他想要一个配置设置.否则我会建议一条完全不同的路线
总结以上是内存溢出为你收集整理的c# – 在运行时开启/关闭Postsharp跟踪?全部内容,希望文章能够帮你解决c# – 在运行时开启/关闭Postsharp跟踪?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)