我的短代码: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