我在c#中有一个类来帮助我记录错误(ErrorClass
)。
RegistryClass
中的ErrorClass
这是我在Registry Class
中实例化ErrorHandle类的方法ErrorHandle _ErrorHandle = new ErrorHandle();
以下是我在ErrorHandle类
中实例化Registry类的方法RegistryTools _GetRegistry = new RegistryTools();
我有一个类来帮助我从注册表中检索值(RegistryClass
)
errorClass
RegistryClass
当我在两个类中使用依赖注入时,会在出现错误时创建无限循环。
处理这种情况的建议方法或最佳做法是什么:
ErrorClass
内的注册表吗?RegistryClass
吗?RegistryClass
?答案 0 :(得分:0)
不要重新发明这个轮子。有一个经过验证的.NET开源日志记录框架,log4net。如果您认为需要使用DI,则可以执行too。 log4net使用XML文件进行配置,与处理注册表相比,它更易于访问且不那么危险。它还会吞下自己的错误,并通过调试跟踪来访问它们。
答案 1 :(得分:0)
您使用什么机制进行DI?如果你使用setter注入,应该没有什么可以阻止你做类似的事情:
var logger = new ErrorClass();
var registry = new RegistryClass();
logger.Registry = registry;
registry.Logger = logger;