gpt4 book ai didi

c# - 如何避免无限循环,最佳实践

转载 作者:太空宇宙 更新时间:2023-11-03 16:34:31 24 4
gpt4 key购买 nike

我在 c# 中有一个类可以帮助我记录错误 (ErrorClass)。

  • 该类有 3 个方法。将错误记录到:文件系统、Windows 事件、电子邮件。
  • 3 种方法中的 2 种需要设置,例如“发送电子邮件”或“目录路径”。
  • 设置存储在注册表中
  • 我使用依赖注入(inject)在 ErrorClass 中实例化 RegistryClass.

这就是我在注册表类中实例化 ErrorHandle 类的方式

ErrorHandle _ErrorHandle = new ErrorHandle();

下面是我如何在 ErrorHandle 类中实例化注册表类

RegistryTools _GetRegistry = new RegistryTools();

我有一个类可以帮助我从注册表中检索值 (RegistryClass)

  • 注册表类需要处理错误
  • 我使用依赖注入(inject)在 RegistryClass 中实例化 errorClass

当我在两个类中都使用依赖注入(inject)时,出现错误时会创建无限循环。

处理这种情况的建议方法或最佳做法是什么:

  • 我应该访问 ErrorClass 中的注册表吗?
  • 我不应该错误处理 RegistryClass 吗?
  • 我应该为注册表类?

最佳答案

不要重新发明这个轮子。有一个久经考验的 .NET 开源日志记录框架可用,log4net .如果您觉得需要使用 DI,可以这样做 too . log4net 使用 XML 文件进行配置,与处理注册表相比,它更易于访问且风险较小。它还吞下了自己的错误,并使它们可以通过调试跟踪访问。

关于c# - 如何避免无限循环,最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9560321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com