小编Tim*_*aax的帖子

log4net的logger包装器的实现和使用

这个问题与史蒂文的答案有关 - 这里.他提出了一个非常好的记录器包装器.我将在下面粘贴他的代码:

public interface ILogger
{
    void Log(LogEntry entry);
}

public static class LoggerExtensions
{
    public static void Log(this ILogger logger, string message)
    {
        logger.Log(new LogEntry(LoggingEventType.Information,
            message, null));
    }

    public static void Log(this ILogger logger, Exception exception)
    {
        logger.Log(new LogEntry(LoggingEventType.Error, 
            exception.Message, exception));
    }

    // More methods here.
}
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是创建代理到log4net的实现的正确方法什么?我应该只使用类型参数添加另一个Log扩展方法,然后在里面创建一个开关吗?如果使用不同的log4net方法LoggingEventType

第二个问题,以后在代码中使用它的最佳方法是什么?

因为他写道:

(...)您可以轻松创建ILogger实现(...)并配置您的DI容器以将其注入到在其构造函数中具有ILogger的类中.

这是否意味着每个会记录的类(基本上都是每个)都应该ILogger在它的构造函数中?

.net c# logging log4net nlog

6
推荐指数
1
解决办法
7600
查看次数

在c#中初始化多维对象数组

我只是想知道,是否有更好的方法来初始化 C# 多维对象数组(引用类型)。

这是我的代码:

Board = new Field[BoardHeight, BoardWidth];

for (int i = 0; i < BoardHeight; i++)
{
    for (int j = 0; j < BoardWidth; j++)
    {
        Board[i, j] = new Field();
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我可以摆脱 for/for 循环并用单行替换它?那太好了。

.net c# arrays multidimensional-array

2
推荐指数
1
解决办法
2630
查看次数

标签 统计

.net ×2

c# ×2

arrays ×1

log4net ×1

logging ×1

multidimensional-array ×1

nlog ×1