注册 登录
编程论坛 C# 论坛

帮我看看这个错误在哪???

macan1209 发布于 2015-07-29 23:03, 1302 次点击
namespace Wrox.ProCSharp.ParameterTestSample
{
    class Program
    {

        public static int Main()
        {
            int i = 0;
            int[] ints = { 0, 1, 2, 4, 8 };
            Console.WriteLine("i="+i);
            Console.WriteLine("ints[0]="+ints[0]);
            Console.WriteLine("Calling SomeFunction...");

            SomeFunction(ints,i);
            Console.WriteLine("i=" + i);
            Console.WriteLine("ints[0]="+ints[0]);

            return 0;
        }

        class ParameterTest
        {
            static void SomeFunction(int[] ints, int i)
            {
                ints[0] = 100;
                i = 100;
            }
        }

    }
}


SomeFunction方法为什么不能用?
2 回复
#2
Maick2015-07-30 10:02
ParameterTest.SomeFunction(ints,i);
你的方法包含在另一个类里面了,如果想直接调用的话应该去掉  class ParameterTest 这个类
namespace Wrox.ProCSharp.ParameterTestSample
{
    class Program
    {

        public static int Main()
        {
            int i = 0;
            int[] ints = { 0, 1, 2, 4, 8 };
            Console.WriteLine("i="+i);
            Console.WriteLine("ints[0]="+ints[0]);
            Console.WriteLine("Calling SomeFunction...");

            SomeFunction(ints,i);
            Console.WriteLine("i=" + i);
            Console.WriteLine("ints[0]="+ints[0]);

            return 0;
        }

      
        
            static void SomeFunction(int[] ints, int i)
            {
                ints[0] = 100;
                i = 100;
            }
        

    }
}
#3
Maick2015-07-30 11:54
好像有static 的都要通过类名.方法来访问的吧
1