【问题标题】:How to design a c# class for both windows form and console app and also for web app如何为 Windows 窗体和控制台应用程序以及 Web 应用程序设计 C# 类
【发布时间】:2015-03-02 03:25:19
【问题描述】:

我在 c# 中有一个用于 windows 窗体应用程序的类,但他们说我可以通过这种方式使其通用,这样我就可以在任何我想要的地方使用它。我怎样才能做到这一点?提前致谢。

我现在的班级是这样的:

namespace nyp5
{
    public partial class Form1 : Form
    {
     ....
    }
}

【问题讨论】:

  • 您可以将该类放入一个单独的类库项目。我假设该类现在直接驻留在 WinForms 项目中。如果你把它放到一个类库中,你的所有其他项目(控制台、Web 等)都可以引用该类库并使用该类。
  • 好的,谢谢。但我在菜单中寻找它,但我看不到它。我该怎么做这个推杆过程?我现在迷失在VS中:))
  • 将项目添加到解决方案中,类库
  • 如果你的类是继承Form的partial,你有几个问题。部分是指它分为两部分,一个是生成的代码,另一个是您的自定义内容。这需要生活在同一个项目中。另外,如果你依赖于 Form,那么你就不能真正在控制台应用程序中使用它
  • @KeithNicholas 我拍了一张屏幕截图。 i.hizliresim.com/YjqE4k.png 可以吗?

标签: c# winforms visual-studio web-applications console-application


【解决方案1】:

您可以将其放入类库程序集中,并将其添加为引用。这样您就可以在任何 .NET 项目中使用它。

但是,如果您希望它是通用的,则不能使其依赖于 Windows 窗体/控制台 API 调用。如果您需要依赖其中任何一个,请创建一个接口,抽象出 Windows 窗体/控制台上的特定调用。

两种模式可以帮助您解决这个问题,依赖注入和适配器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多