我正在为我的公司创建一个NuGet包,它将显示一个记录器供应用程序使用。
我希望我的记录器的功能类似于Singleton(只有一个实例和线程安全)。
这就是我所拥有的:
public sealed class Log
{
public static ILogger Logger { get; } = new Logger();
}
internal sealed class Logger: ILogger
{
// Do Stuff Here
}
这些类将在我的NuGet程序集中,因此消费者将无法修改它们。
所以如果有人打电话给Log.Logger
它是否安全?单个实例?