私は C# の初心者ですが、インスタンス化と参照の受け渡しについて、私が理解していない基本的なことがあると思います。
デフォルトの Program クラスを取得して、他の 2 つのクラス、frmGameUI というフォームと LocHandler というクラスをインスタンス化しようとしています。これが正しく機能している場合、LocHandler は現在の場所を確認し、frmGameUI のテキスト プロパティを割り当てます。何らかの理由で、LocHandler でプロパティを設定するメソッドは、プログラムでインスタンス化した frmGameUI への参照を表示または取得できません。私は何を間違っていますか?
static class Program
{
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainUI());
GameUI frmGameUI = new GameUI();
frmGameUI.Show();
LocationHandler LocHandler = new LocationHandler();
LocHandler.InitializeRoom();
}
そして、これが LocHandler クラスです:
class LocationHandler
{
private string currentRoom = "LivingRoom";
public void InitializeRoom()
{
if (currentRoom == "LivingRoom")
{
frmGameUI.btnLocation1.Text = "Bedroom";
frmGameUI.btnLocation2.Text = "Kitchen";
frmGameUI.btnLocation3.Text = "Patio";
}
}
}
LocHandler では、VS は frmGameUI がこのコンテキストに存在しないことを教えてくれます。ここで理解できない基本的で単純なものがあると確信しています。どんな助けでも大歓迎です!