首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#:为什么在System.Windows.Forms中应用?

C#:为什么在System.Windows.Forms中应用?
EN

Stack Overflow用户
提问于 2009-11-02 09:31:24
回答 5查看 2.1K关注 0票数 8

Application类在System.Windows.Forms中有一些非常有用的属性。例如:

  • ProductName
  • ProductVersion
  • CompanyName
  • ExecutablePath
  • StartupPath
  • CommonAppDataPath
  • CommonAppDataRegistry
  • UserAppDataPath
  • UserAppDataRegistry
  • LocalUserAppDataPath

为什么这些在System.Windows.Forms的一个类中?如果我想访问控制台应用程序中的CommonAppDataPath怎么办?那么,我是否必须引用System.Windows.Forms.dll,或者控制台应用程序是否有其他选择?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-11-02 10:08:16

引用自MSDN System.Windows.Forms命名空间文档:

System.Windows.Forms命名空间包含用于创建基于Windows的应用程序的类,这些应用程序充分利用了Microsoft操作系统中可用的丰富用户界面功能。

我能看到应用程序类被放置在System.Windows.Forms命名空间中的唯一真正原因是它处理通常由窗体控件发布的Windows消息。

票数 1
EN

Stack Overflow用户

发布于 2009-11-02 09:37:09

对于路径,还可以查看.NET中的.NET类:

代码语言:javascript
复制
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

还有一大堆“特殊”文件夹你可以索要。

默认情况下,CompanyName和其他选项从“属性”文件夹中的"AssemblyInfo.cs“中提取--如果您有这样的文件,您也可以自己在代码中访问这些文件。

嗯,在这些道路上,你必须附上公司的名称和产品的名称,还有你自己.

是的,这就是System.Windows.Forms程序集为您所做的。如果你没有Winforms应用程序,你必须自己做,这是真的。

Marc

票数 9
EN

Stack Overflow用户

发布于 2009-11-02 11:28:28

诸如"ProductName“之类的信息来自WinForms应用程序中的主程序集。ASP.NET应用程序中没有“主”程序集。

如果您在没有配置文件的服务帐户下运行( ASP.NET应用程序通常是这种情况),则不会出现UserAppDataPath --实际上,试图取消引用UserAppDataPath属性将引发异常。

由于这些原因,向ASP.NET应用程序公开这些信息是没有意义的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1660243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档