多年来,我用 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/