编译器错误 CS0120
本文关键字:CS0120 错误 编译器 | 更新日期: 2023-09-27 18:36:01
我试图理解概念"类"并编写一些简单的程序。但是我的函数 Check() 不正确。请跟着我到右边。
namespace ConsoleApplication2
{
public class Task
{
public string RusVer { get; set; }
public string Key { get; set; }
public string UserVer { get; set; }
public void Check()
{
if (UserVer == Key)
Console.WriteLine("Good");
}
}
class Program
{
static void Main(string[] args)
{
Task p1 = new Task();
p1.RusVer = "Привет, Мир!";
p1.Key = "Hello, World!";
Console.WriteLine(p1.RusVer);
Console.WriteLine("Translate it: ");
p1.UserVer = Convert.ToString(Console.ReadLine());
Console.WriteLine(p1.UserVer);
Task.Check(); //errorCS0120
}
}
}
你调用Check
就好像它是静态方法一样。它是实例方法,因此应称为p1.Check()
。
编译器错误 CS0120:非静态字段、方法或属性"成员"需要对象引用
因此,为了使用非静态字段、方法或属性,必须首先创建类的对象实例
您需要借助类对象调用它Task
p1.Check();
如果您将Check()
方法声明为静态方法,则可以像当前一样调用它。
public static void Check()
{
if (UserVer == Key)
Console.WriteLine("Good");
}