在C#中,静态方法可以调用非静态成员,但是需要通过实例对象来访问。静态方法不能直接访问非静态成员,因为非静态成员属于实例对象的一部分,需要先创建实例对象才能访问。
例如:
class MyClass
{
public int NonStaticField;
public static void StaticMethod()
{
MyClass obj = new MyClass();
obj.NonStaticField = 10;
Console.WriteLine(obj.NonStaticField);
}
}
在上面的例子中,静态方法StaticMethod
通过创建MyClass
类的实例对象来访问非静态成员NonStaticField
。