gpt4 book ai didi

c# - 如何理解在运行时 : WinForms, WinService 或 ASP.NET 中执行我的 dll 的上下文?

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

我的程序集(服务)是为在 WinForms 上下文中使用而开发的。因此,如果某处出现问题,我的 dll 将显示错误形式和相应的消息。

但现在我要使用它。代码非常陈旧和肮脏,这就是为什么我不想使用模式方法等。无论如何,我需要有 100% 的工作方式来确定我有什么样的背景。

  1. 我在 WinForm 中
  2. 我在 WinService
  3. 我在网上

最佳答案

如果我没理解错的话,你正在创造一个需要维护的噩梦。

您的程序集应该不知道谁在使用它。想象一下,明天有另一个使用您的程序集的上下文,您将不得不再次更改代码并添加更多原本不应存在的依赖项。

恕我直言,您要么创建一个 OnError 事件,在该事件上调用程序集的使用者为其指定的适当委托(delegate),要么至少您执行类似于 System.Console.Out 的操作;也就是说,您创建一个 TextWriter 类型的属性,默认情况下您使用它来记录所有错误,但允许您的程序集的使用者拥有此属性的 setter ,以便他们可以将日志重定向到他们自己的 TextWriter 并将消息处理为合适的。

这有意义吗?

关于c# - 如何理解在运行时 : WinForms, WinService 或 ASP.NET 中执行我的 dll 的上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7911813/

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