私はゲームでウィンドウを開くために、これらの2つのクラスを別々のファイルで使用しています。それは動作しますが、他のクラスにインスタンスを割り当てないでGUI.Check = this
を行う簡単な方法があります。 Ex。ここでMyClass = this
このキーワードにクラスを割り当てる
(物事の不正確な命名のため申し訳ありませんが)
public class MyClass
{
public WindowClass GUI;
public void OpenGUI()
{
if (!GUI.open)
{
GUI.Check = this;
GUI.open = true;
}
}
}
public class WindowClass
{
public bool open = false;
public MyClass Check;
public void Display()
{
if (open)
{
// GUI stuff here
}
}
}
変数を宣言することによって、変数に代入しようとするときに 'this'が参照するものによって異なります。 – krillgar
'MyClass'パラメータを受け取り、それを' check'メンバに割り当てたコンストラクタを 'WindowClass'クラスに作成します。次に、 'MyClass'メソッドからそのクラスを作成し、' this'を渡すと、明示的な割り当ては不要です。 –
あなたが求めているものはあまり明確ではありません。あなたは 'GUI.MyClass = this'の別の構文を求めていますか? (サイドノート:あなたは決してC#でクラスを割り当てることはできません - おそらく "クラスのインスタンスを割り当てます" ...投稿のタイトルは絶対に意味がありませんので、 'this'に何も割り当てることはできません) –