Ich hatte den Eindruck, dass der C# -Compiler implizit ein Array basierend auf einem Typ eingibt, in den alle implizit konvertiert werden können.Implizite Typisierung von Arrays, die Schnittstellen implementieren
Der Compiler erzeugt Nein für implizit typisierte Array gefunden beste Art
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 };
}
Ich weiß, dass die Art und Weise, dies zu korrigieren ist die Art, wie zu erklären:
new ISomething [] { obj1, ...}
Aber ich bin nach einem unter dem deckel type hilfe hier.
wie in warum der Compiler versucht nicht, eine passende Art zu finden? –