2011-03-09 62 views
12
public class A 
{ 
    public virtual string Go(string str) { return str; } 
    } 

public class B : A 
{ 
    public override string Go(string str) {return base.Go(str);} 
    public string Go(IList<string> list) {return "list";} 
} 

public static void Main(string[] args) 
{ 
    var ob = new B(); 
    Console.WriteLine(ob.Go(null)); 
} 

http://dotnetpad.net/ViewPaste/s6VZDImprk2_CqulFcDJ1A为什么不触发“模糊参考错误”?

如果我运行这个程序,我得到“列表”发送到输出。为什么这不会在编译器中引发模棱两可的引用错误?

+0

中详细解释你正在谈论哪个C#版本? – 2011-03-09 01:56:32

回答