J'avais l'impression que le compilateur C# taperait implicitement un tableau basé sur un type auquel ils pourraient tous être implicitement convertis.Typage implicite de tableaux implémentant des interfaces
Le compilateur génère Pas de meilleur type trouvé pour le tableau implicitement typé
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 };
}
Je sais que la façon d'y remédier est de déclarer le type comme:
new ISomething [] { obj1, ...}
Mais je suis après un sous le type de couvertures aider ici.
comme pourquoi le compilateur ne cherche pas à trouver un type de correspondance? –