无法执行简单的方法调用

OO_*_*ner 2 c#

如何获取以下程序来打印sumOfNumbers方法的结果?我无法在main方法中调用此方法,我不知道为什么.谁能解释我做错了什么?

class Program
{
    static void Main(string[] args)
    {


        //Console.WriteLine();
        //Console.ReadLine();
    }

    private int sumOfNumbers (int x, int y)
    {
        return x + y;
    }
}
Run Code Online (Sandbox Code Playgroud)

Rea*_*ilt 6

您的方法签名错误.它应该是private static int sumOfNumbers(int x, int y).

编辑:我被要求对此进行更多解释.静态方法(如Main示例中所示)不属于对象的特定实例.它属于它的类,Program.没有static修饰符的方法属于该类的特定实例.这种差异意味着"无对象"静态方法(Main)只能直接使用静态方法,或者通过实例化对象然后在对象上调用该方法.

第二种方法如下:

var foo = new Program();
Console.WriteLine(foo.sumOfNumbers(3,2))
Run Code Online (Sandbox Code Playgroud)

我会继续建议将方法修改为静态.我从你的Main方法推断出你正在编写一个控制台应用程序,并且(根据我的经验)实例这样的类是非常规的.