Primo Chalice Ответов: 2

Как вызвать основную функцию в C#?


Привет,


В следующем коде я получаю следующие ошибки;

1. ошибка CS0234 имя типа или пространства имен "Form1" не существует в пространстве имен "PdfSloutions" (отсутствует ссылка на сборку?)

2. Система.ArgumentNullException: 'свойство MainForm не может быть установлено в Nothing.
Имя параметра: MainForm'

Пожалуйста помочь.

Что я уже пробовал:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Diagnostics;
using System.Windows.Forms;
using System.Linq;
using System.Xml.Linq;

namespace PdfSloutions
{
	namespace My
	{

		internal partial class MyApplication : Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase
		{

			[global::System.Diagnostics.DebuggerStepThroughAttribute()]
			public MyApplication() : base(Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
			{
				this.IsSingleInstance = false;
				this.EnableVisualStyles = true;
				this.SaveMySettingsOnExit = true;
				this.ShutdownStyle = Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses;
			}

			[global::System.Diagnostics.DebuggerStepThroughAttribute()]
			protected override void OnCreateMainForm()
			{
                this.MainForm = global::PdfSloutions.Form1.DefaultInstance;
			}

			private static MyApplication MyApp;
			internal static MyApplication Application
			{
				get
				{
					return MyApp;
				}
			}

			[STAThread]
			static void Main(string[] args)
			{
				System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);
				MyApp = new MyApplication();
				MyApp.Run(args);
			}

		}
	}

}

Richard MacCutchan

У вас есть дополнительный оператор пространства имен в начале вашего кода, который, по-видимому, не соответствует вашему модулю определения Form1.

Primo Chalice

Я удалил это, но все равно получаю ошибку

Maciej Los

Начать здесь: Ошибка компилятора CS0234 | Microsoft Docs[^]

2 Ответов

Рейтинг:
2

Patrice T

Цитата:
Как вызвать основную функцию в C#?

Короткий ответ: Нет, никогда.
"main" - это специальная функция, это отправная точка вашей программы, и вы не можете вызвать ее в своем коде.


Primo Chalice

Но тогда я получаю ошибку. Что же мне делать?

Patrice T

какая ошибка ?

Primo Chalice

Система.ArgumentNullException: 'свойство MainForm не может быть установлено в Nothing.
Имя параметра: MainForm'

Patrice T

"MainForm" и функция "main" - это две совершенно разные вещи.
В этом случае название вопроса совершенно неверно и вводит в заблуждение.

Primo Chalice

Извините, но тогда я опубликую новый вопрос для решения :).

Patrice T

Будьте точны для получения лучших ответов.

Рейтинг:
0

lw@zi

Вы явно не вызываете метод Main. Это точка входа по умолчанию для вашего приложения, которое будет вызывать фреймворк.

Ошибки, о которых вы упомянули, говорят о том, что там ничего не называется PdfSloutions.Form1. Либо в этом пространстве имен нет ничего под названием Form1, либо, если оно есть, оно не является общедоступным.


Primo Chalice

Я получаю там ошибку, так что же можно сделать?

lw@zi

Я просто сказал, что вы можете проверить. Существует ли эта форма в PdfSolutions?