我的短代碼:C#指針 - 靜態調用
class A
{
private B b;
public void b(){};
}
class B
{
private void a()
{
A.b();
}
}
我可以空A中的B靜態的,但我有一些控制像this.Controls.Add();
他們必須是靜態太多,但我不知道如何實現它,你能告訴我,還是我們對這一解決方案:)
我的短代碼:C#指針 - 靜態調用
class A
{
private B b;
public void b(){};
}
class B
{
private void a()
{
A.b();
}
}
我可以空A中的B靜態的,但我有一些控制像this.Controls.Add();
他們必須是靜態太多,但我不知道如何實現它,你能告訴我,還是我們對這一解決方案:)
更好的方法你可以做任何
class B {
private readonly A instance;
public B(A instance) { this.instance = instance; }
private void a() {
instance.b();
}
}
或
class B {
private void a(A instance) {
instance.b();
}
}
取決於它是什麼,你正在嘗試做的。
(請注意,您需要A
重命名或者B b
或void b
。)
這很棒,你能說出一本關於這樣的東西的好書嗎? – nXqd 2010-10-18 18:57:06
要在靜態函數中使用控件,該控件必須是靜態的了。
private static Button StaticButtonObject = new Button();
public static void AddControl()
{
StaticButtonObject.Text = "Button";
}
上面的代碼不會編譯,因爲變量和方法具有相同的名稱。你能否發佈你的實際代碼?這可能有助於回答你的問題。 – 2010-10-18 17:12:10