2016-09-07 29 views
0

我在單獨的文件中使用這兩個類來打開遊戲中的窗口。它可以工作,但有沒有更簡單的方法來做GUI.Check = this而無需將實例分配給其他類。防爆。 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 
     } 
    } 
} 
+0

這取決於你聲明你的變量是什麼,當你試圖將它分配給一個變量時,這個是指什麼。 – krillgar

+1

在'WindowClass'類中創建一個構造函數,該類使用'MyClass'參數並將其分配給'check'成員。然後,當從'MyClass'方法創建該類時,傳遞'this',那麼顯式分配是不必要的。 –

+1

不是很清楚你在問什麼。你是否要求'GUI.MyClass = this'的不同語法? (注意:你從來沒有在C#中「分配類」 - 也許是「分配類的實例」......此外,由於你根本不能指定任何東西給'this',所以這個帖子的標題完全沒有意義) –

回答

0

這裏似乎兩個類需要其他類的參考。類似於保持winform和WPF中子對象和父對象的引用。

這裏這意味着它的對象更準確地說是當前的。這似乎是一種通用的做法,可以相互引用。

另一種機制,而不是分配是通過構造函數注入。

+0

我不明白這是如何在低質量的職位隊列 –