2013-01-17 49 views
-3

我有一個類X作爲它的成員有另一個類。 什麼將允許此類調用C#中的類X的某些方法的正確方法?讓一個類的成員對象調用它的方法c#

class Y 
{ 
    private void f1() 
    { 
     //do things 
     // now call f2() - a method of X 
    } 
} 

class X 
{ 
    private Y y; 
    public void f2() {} 
} 

謝謝。

+1

正確嗎?只需調用它。我真的不明白你在問什麼,你想在這裏解決什麼問題。 – Oded

+1

你能發佈你的代碼嗎? – poiuytrez

+0

你的問題措辭不佳,你沒有發佈任何代碼來顯示你到目前爲止嘗試過的內容。 – doogle

回答

1

我建議您瞭解ClassesInstances之間的區別。

Y的一個實例不知道x的任何實例,所以它不能只調用x的f2。它可能是不明確的,因爲X的幾個實例可能具有相同的對象y。有幾種可能性如何進行。這裏有兩個。可能還有更多,但根據所提供的信息,我不知道你需要哪一個。

  1. Y類還應該有一個類型爲X的私有變量,應該在f1()中調用。
  2. 方法f1()應該包含一個X類型的對象作爲參數。
+0

好吧,Y是一個GUI類,X是這個組件的邏輯。 X必須調用Y的方法,例如用於輸入拉,但Y也需要調用X方法,按下按鈕時進行工作。 –

+0

然後這兩個解決方案將工作。如果你的控制器應該處理多個視圖,第二種解決方案更好。 – Gabe

+0

如果我有一個Y C'tor將X作爲參數,則會出現「不一致的可訪問性」錯誤。 –

相關問題