我有一個類A
和一個類B
,這兩個類都需要與類C
一起使用。在幾個實例之間共享數據
我想通過這門課A
和B
以改變在A
作出C
將影響B
使用的C
對象的方式上C
相同的情況下工作。
我看到要實現這一點的唯一方法是使用觀察者模式,但我很想知道是否有任何簡單的解決方案來解決這個問題。
我有一個類A
和一個類B
,這兩個類都需要與類C
一起使用。在幾個實例之間共享數據
我想通過這門課A
和B
以改變在A
作出C
將影響B
使用的C
對象的方式上C
相同的情況下工作。
我看到要實現這一點的唯一方法是使用觀察者模式,但我很想知道是否有任何簡單的解決方案來解決這個問題。
假設的聲明類似以下內容並在構造函數中設置sharedC
:
class C{}
class A { private C sharedC; }
class B { private C sharedC; }
你會使用C
單一實例,並傳遞給的A
和B
需要共享副本實例。
var c = new C();
var a = new A(c);
var b = new B(c);
其中一個最簡單的方法(假設C
是class
,而不是一個struct
)
+1。請注意,此代碼假定「C類」意味着「C類」:) –
嘗試一下ATM,我有一個誤解,即你提出的建議在C#中是不可能的。 –
如果您傳遞相同的情況下,你不需要做任何事情,因爲這將是相同的實例。 –
根據http://www.yoda.arachsys.com/csharp/parameters.html –
我強硬的價值觀沒有通過參考,C類不是值類型 –