[英]C#: How do I call a static method of a base class from a static method of a derived class?
[英]How do I access an instance of a class from a static method?
如何从静态方法访问类的当前实例? 静态方法是必需的。 我只想获取父表单当前子表单的计数。 我的代码在下面,但是它说“应用程序”在当前上下文中不存在
private static ReturnOpenWindowCount()
{
Form f = (Form)Application.OpenForms["Form1"]
if(f.Children.Length > 0){//Do Something;}
}
您不能,静态方法没有“当前实例”。 您可以在周围有100个实例或0个实例的情况下调用static方法,并且在两种情况下均可以使用。 除非您明确创建实例,否则它与任何实例都没有关系,例如,通过保留实例化形式的私有静态数组。 尽管与表单有关,但这很可能是不良样式和XY解决方案 。
Youc可以将参数中的Application
实例传递给此方法
将实例作为参数传递。 多数民众赞成在尽可能接近..
void Main()
{
Foo foo = new Foo();
Foo.ThisFoo(foo);
Console.WriteLine(foo);
Console.ReadLine();
}
// Define other methods and classes here
class Foo
{
int x = 0;
public static void ThisFoo(Foo foo)
{
foo.x = 1;
}
public override string ToString()
{
return "" + x;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.