オブジェクトの参照をメソッドに渡すことについて学習しようとしているときに、メソッドヘッドの静的オブジェクトを削除しようとすると、エラーが発生します。エラーメッセージには次のように表示されます。非静的フィールド、メソッド、またはプロパティにはオブジェクト参照が必要です......しかし、パラメータに参照はすでにありませんか?静的を使用しないコードを見たことがありますが、なぜこれが機能しないのですか?オブジェクトではないクラスからメソッドが使用される場合、staticが使用されることを私は知っています。理解していただければ幸いです。ありがとう!
// 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;
}
}