log
方法。我想知道如何使用以下调用语法来定义它:
logging(var loggerContext = new LogManager(input)){ // create a new logger context and store input
//var results = Method();
} // store results in logger context
如何实现日志记录??
答案 0 :(得分:3)
我经常使用的替代模式是这样的:
void WithLogging(Action action)
{
// set up logging here
action();
// save results here
}
然后你可以像这样使用它:
WithLogging(() =>
{
//do some things here
});
答案 1 :(得分:1)
正如其他海报所指出的那样,定义新关键字不是你可以在C#中做的事情。您可能会发现Boo有趣,特别是宏。
答案 2 :(得分:0)
有时在构造函数和IDisposable
方法中使用自定义逻辑实现Dispose
这样的情况是有意义的:
class Logmanager : IDisposable
{
public Logmanager()
{
this.Log("Start");
}
private void Log(string message)
{
// some logging implementation
}
public void Dispose()
{
this.Log("Finish");
}
}
然后你可以把它放在using
声明中:
using (var logger = new Logmanager())
{
// you can add something to logger here, e.g. store results
}