我正在使用Windows Forms在C#中编写应用程序。有时我会更改项目的设置并将“输出类型”设置为“控制台应用程序”。
我想知道是否可以将项目编译为Windows Form Application和Console Application作为2个.exe文件?
答案 0 :(得分:10)
您应该将您的逻辑放入dll并创建两个应用程序:一个控制台应用程序和一个winforms应用程序。这将是最干净的,在我看来最好的方式。
因此,您可以处理不同的需求,并以最佳方式处理这两种应用程序类型。
答案 1 :(得分:1)
要展开Mighty Badaboom's answer,假设您正在实施 Tic Tac Toe 游戏。
一个好的设计是在自己的类库(dll)中实现与用户界面分离的所有游戏逻辑。在此类库中,您可以定义任何兼容用户界面必须提供的基本常见行为:
public interface IUserInterface
{
void ShowBoard();
Move GetPlayerMove(Player player);
void ShowWinnerAnimation(Player player);
void ShowDrawAnimation();
///etc
}
现在,您可以实现可以通过界面注入Game
对象的不同用户界面(控制台,网页,Windows窗体等):
IUserInterface myUserInterface = new WindowsFormsInterface();
var game = new Game(myUserInterface);
game.Run();