Чтобы ответить на вопрос, нужно ли вам добавлять WindowsFormsApplicationBase в программу на C #, нет, не нужно. Программа на C # использует Класс приложения . В WindowsFormsApplicationBase есть вещи, которые доступны отдельно. Например, свойство ApplicationContext в WindowsFormsApplicationBase имеет экземпляр класса ApplicationContext, который может быть дополнительно создан в C #.
Очевидно, что WindowsFormsApplicationBase предназначена для упрощения приложений форм VB.Net, но она скрывает вещи, которые было бы легче увидеть в программах на C #. Программа на C #, сгенерированная VS, будет иметь метод Main, подобный следующему:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
Это практически все приложение, за исключением класса Form1. В VB.Net эта обработка скрыта в классе WindowsFormsApplicationBase. Методы WindowsFormsApplicationBase.OnStartup и WindowsFormsApplicationBase.OnShutdown совершенно не нужны в C #, поскольку код, который будет помещен в них для VB.Net, можно просто поместить в метод C # Main. Класс WindowsFormsApplicationBase имеет метод DoEvents, который никому не нужен, и программисты на C # знают это. Класс WindowsFormsApplicationBase поддерживает заставки, которым нет эквивалента в C #, за исключением C #, мы можем реализовать заставки различными способами.