2010-01-17 65 views
0

如何在运行时检查C#应用程序是Windows应用程序还是控制台应用程序?
C#:检查窗口是否形成

我想写一个通用的输出库(当控制台应用程序输出到文本框或控制台)。
因此,如果我可以检查它是否是一个asp应用程序也会有用。

回答

6

我认为你可能会以错误的方式攻击问题。不知道更多关于你在这里做什么的是我建议的:

用Write(...)方法创建一个类似IOutputWriter的接口。然后为每个环境创建一个实现(ConsoleOutputWriter,TextboxOutputWriter等)。每个环境都可以使用适当的实现,因为他们知道它们是什么类型的应用程序。

+2

是的,这样的系统已经存在inf TraceListeners的形式。 – 2010-01-17 18:14:36

+0

是的,这就是我想要做的。但如前所述,我的问题是我如何知道环境(console/win/web),所以我可以将指针/委托转换为使用appropriete实现? – 2010-01-17 20:10:38

+0

在应用程序启动时使用依赖注入来配置输出写入器实现。所以不是你的输出编写器API试图在运行时找出环境,而是外部配置它到适当的类型。 如果您可以详细说明您正在尝试做什么,我可以尝试给您更多具体的答案。 – 2010-01-17 20:24:23