下面这段代码中为什么显示waiter类和cooker类中的输出函数不能调用name+字符串,提示非静态字段要求对象引用
而customer类中却可以?namespace hotel
{
public class customer
{
public string name;
public customer(string name)
{
this.name = name;
}
public void diancai(string x)
{
Console.WriteLine(name + "点了一道" + x);
waiter.chuancai(x); }
}
public class waiter
{
public string name;
public waiter(string name)
{
this.name = name;
}
public static void chuancai(string x)
{
Console.WriteLine("服务员"+name+"告诉厨师"+"炒"+x );
cooker.chaocai(x);
} }
public class cooker
{
public string name;
public cooker(string name)
{
this.name = name;
}
public static void chaocai(string x)
{
Console.WriteLine("厨师"+name+"开始炒"+x);
} }
而customer类中却可以?namespace hotel
{
public class customer
{
public string name;
public customer(string name)
{
this.name = name;
}
public void diancai(string x)
{
Console.WriteLine(name + "点了一道" + x);
waiter.chuancai(x); }
}
public class waiter
{
public string name;
public waiter(string name)
{
this.name = name;
}
public static void chuancai(string x)
{
Console.WriteLine("服务员"+name+"告诉厨师"+"炒"+x );
cooker.chaocai(x);
} }
public class cooker
{
public string name;
public cooker(string name)
{
this.name = name;
}
public static void chaocai(string x)
{
Console.WriteLine("厨师"+name+"开始炒"+x);
} }
{
Console.WriteLine("厨师"+name+"开始炒"+x);
}
静态方法只能调用静态字段,你把字段设置成静态就可以了。这样:
public static string name;
{
public string name;
public waiter(waiter w,string name)
{
this.name = name;
}
public static void chuancai(waiter w,string x)
{
Console.WriteLine("服务员"+w.name+"告诉厨师"+"炒"+x );
cooker.chaocai(x);
} }
大神吗,帮帮忙……
public void diancai(string x)
{
Console.WriteLine(name + "点了一道" + x);
waiter w = new waiter(name);
w.chuancai(x);
} public void chuancai(string x)
{
Console.WriteLine("服务员"+name+"告诉厨师"+"炒"+x );
cooker c = new cooker(name);
c.chaocai(x);
}