呼叫公共方法

时间:2017-02-07 19:27:11

标签: c#

我认为当你的方法公开时,你可以从项目中的任何类调用它......

namespace MethodTest
{
    class Program
    {
        public static void Foo()
        {
        }

        static void Main(string[] args)
        {
            Foo();
        }
    }

    class MyClass
    {
        public static void asd(string[] args)
        {
            Foo();
        }
    }
}

然而,当我尝试从其他类调用它时,我收到错误

  

错误CS0103当前名称'Foo'不存在   context MethodTest D:\ Visual   Studio \ MethodTest \ MethodTest \ Program.cs 23有效   PS:据我所知,如果错过了访问修饰符,它就是私有的......我是否正确?

1 个答案:

答案 0 :(得分:3)

您不能使用此类别的方法。

请尝试以下代码:

class MyClass
{
    public static void asd(string[] args)
    {
        Program.Foo();
    }
}

这样通过使用Program.Foo();,您可以指定要使用的确切方法(来自不同的Program类),以便CLR知道要调用哪个方法。

这样称呼的原因是static方法声明中的Foo关键字。否则将以不同方式调用:

new Program().Foo();