Используя ваши примеры Program.cs
и Form1.cs
и предполагая, что они являются именами по умолчанию, и что у вас есть класс Program
, который создает экземпляр класса Form1
и вы хотите передать параметр в Form1
Класс, вы можете сделать следующее:
Определить конструктор для Form1
, который принимает этот параметр и цепочку к конструктору по умолчанию:
private Lua lua;
public Form1(Lua lua) : this()
{
this.lua = lua;
}
В вашем Program
классе при создании экземпляра Form1
, передайте ему параметр:
lua = new Lua();
Application.Run(new Form1(lua));
Обратите внимание, что я использую терминологию ООП - объекты и классы (не файлы).
Обновление:
Поскольку вы объявили переменную lua
как открытый статический член класса Program
, вы можете получить к ней доступ в любом местеВаша программа (при условии, что пространства имен были объявлены надлежащим образом) выглядит следующим образом:
Program.lua;
Хотя вы хотите создать экземпляр статического поля до , вызывая Application.Run
.
В любом случае это делает объект общедоступным общим ресурсом для всех потоков, что делает его практически непроверенным и трудным для работы, если вы используете многопоточность.