<分区>
Possible Duplicate:
Why can I only access static members from a static function?
当我尝试从静态方法内部调用普通方法时出现错误:
An object reference is required for the non-static field, method, or property
所以这意味着我需要创建类的对象,然后调用非静态方法。如果我想直接调用该方法,则必须将该方法声明为 Static。
但是,在这种情况下,调用方法和被调用方法属于同一个类。那么为什么我需要在从静态方法调用时创建一个对象,而我可以从非静态方法调用非静态方法。
例如:
class Program
{
//public void outTestMethod(int x,out int y)
//{
// y = x;
//}
static void Main(string[] args)
{
int a = 10;
int b = 100;
outTestMethod(a,out b);
}
private void outTestMethod(int x, out int y)
{
y = x;
}
}
错误:非静态字段、方法或属性需要对象引用