Listeye List
abstract class Foo {}
class Bar : Foo {}
ve başka yerlerde bu formun bir yöntem:
void AddEntries(List<Foo>) {}
Ben kullanarak bu yöntemi çağırmak çalışıyorum türü nesne listesi Bar
List<Bar> barList = new List<Bar>()
AddEntries(barList);
ama bu bana verir Hata:
cannot convert from List<Bar> to List<Foo>
Bu sorunun çevresinde zaten var mı? Soyut sınıfını kullanarak yöntem tanımını tutmalıyım.
mu C#:
sorunu çözmek için, generics kullanabilir? Foo> 'gibi Java'yı genişletir? – dbush
@dbush Evet, C# 'nin sürümü kabul edilen yanıtta – Harrichael
@harrichael Java'dan farklı olarak, C# genel kovaryansı destekliyor, bu yüzden daha iyi bir seçenek var (Rob'un cevabı bakın) –