《C#高级编程》中第78页有一句话:两个方法不能公根据参数是声明为ref还是out来区分。
我试了一个,发现可以的啊,我用的是.net framework 2.0

解决方案 »

  1.   

    using System;
    namespace Wrox.ProCSharp.Basics
    {
    class ParameterTest
    {
    static void SomeFunction(int i)
    {
    i=100;
    }
    static void SomeFunction(ref int i)
    {
    i=100;
    }
    public static int Main()
    {
    int i=3;
    SomeFunction(i);
    Console.WriteLine("i="+i);
    SomeFunction(ref i);
    Console.WriteLine("i="+i);
    return 0;
    }
    }
    }
    输出是:
    i=3
    i=100
    这不是可以重载吗?
      

  2.   

    根据参数是声明为ref还是out来区分它只说Ref 和out 又没有说有Ref修饰符和没有OUT修饰符的方法不可以重载。
      

  3.   

    写错了又没有说有Ref修饰符和没有Ref修饰符的方法不可以重载。
      

  4.   

    using System;
    namespace Wrox.ProCSharp.Basics
    {
    class ParameterTest
    {
    static void SomeFunction(out int i)
    {
    i=100;
    }
    static void SomeFunction(ref int i)
    {
    i=100;
    }
    public static int Main()
    {
    int i=3;
    SomeFunction(i);
    Console.WriteLine("i="+i);
    SomeFunction(ref i);
    Console.WriteLine("i="+i);
    return 0;
    }
    }
    }
    哦……我了解了,这样子就不行了!