当我尝试一些代码来了解如何将对象的引用传递给方法时,当我尝试删除方法头中的静态时出现错误。错误信息说:非静态字段、方法或属性需要对象引用……但是参数中不是已经有引用了吗?我见过不使用静态的代码,为什么这不起作用?我知道当从不是对象的类中使用方法时会使用静态。一些解释是赞赏理解。谢谢!
// Method
internal static string ChangeName(Box obj)
{
return obj.BoxName;
}
编辑:我添加了整个代码。我从主要方法内部调用的问题是静态的吗?
class Program
{
static void Main(string[] args)
{
Box box1, box2;
box1 = new Box("Nick","R90",1);
box2 = new Box("Hanna","B27",2);
Console.WriteLine(ChangeName(box2));
Console.Read();
}
// Methods
private static string ChangeName(Box obj)
{
return obj.BoxName;
}
}