C# .DLL 库 - 控制台和窗体 Windows 应用程序的最佳实践

标签 c# winforms dll console

多年来,我用 C# 编写了自己的 Windows .dll,其中包括我通常使用的许多对象和函数。到目前为止,我的所有程序都是控制台应用程序,因此我的 dll 函数将其状态、错误和输出写入控制台。例如:“正在加载多边形文件:Fred.txt”“从文件导入 268 个多边形”。现在我开始编写 Windows 窗体程序,并且想重用 dll 函数,但显然我无法写入窗体应用程序的控制台。

对于处理包含用于控制台和表单程序的函数的 dll 的最佳方法,有人有任何建议吗?每个函数最好有两个版本吗?有没有办法判断函数是否是从表单调用而不是写入控制台?

谢谢, 标记

最佳答案

您想在 Windows 窗体应用程序中显示消息吗?通常,DLL 不处理 UI 操作,例如显示消息。但是,如果您真正需要的是日志记录,那么它们可以处理日志记录。我想说你应该研究像 NLog 这样的日志框架并在你的 DLL 中实现它。

如果您有一个引用 DLL 的 WinForms 项目,则可以从 DLL 向上传递信息并在 UI 级别显示。这是正确的应用程序架构的问题。理想情况下,DLL 对它的使用方式一无所知,即来自控制台应用程序与 WinForms 应用程序。

关于C# .DLL 库 - 控制台和窗体 Windows 应用程序的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44765084/

相关文章:

c# - 位图类通过填充空字符来更改输入文件流

c# - WebView2 下载进度

dll - Win32 App插件如何将其DLL加载到自己的目录中

delphi - 应用程序和 DLL 之间的共享 Firedac 连接中的事务

c# - 在 Excel 2003 中调整编辑栏的大小

c# - 为什么 switch for enum 接受隐式转换为 0 但不接受任何其他整数?

C#:无法绕过缓存 (WebClient)

c# - 为什么 Parallel.Invoke 无法完成所有操作?

c# - 显示多个数组

c# - 如何从 DLL 中读取显示名称?