【发布时间】:2010-05-10 01:40:30
【问题描述】:
我的印象是,C# 编译器会根据可以隐式转换为的类型隐式键入数组。
编译器生成 没有找到隐式类型数组的最佳类型
public interface ISomething {}
public interface ISomething2 {}
public interface ISomething3 {}
public class Foo : ISomething { }
public class Bar : ISomething, ISomething2 { }
public class Car : ISomething, ISomething3 { }
void Main()
{
var obj1 = new Foo();
var obj2 = new Bar();
var obj3 = new Car();
var objects= new [] { obj1, obj2, obj3 };
}
我知道纠正这个问题的方法是声明如下类型:
new ISomething [] { obj1, ...}
但我在这里寻求幕后类型的帮助。
【问题讨论】:
-
为什么编译器不尝试找到匹配的类型?
标签: c# implicit-typing