Tam kod ı kurmaya çalışıyorum:Bu neden geçersiz bir varyans?
public interface IMapContainer<out T> where T : MapRoomBase
{
String GetName();
IEnumerable<T> GetRooms();
}
bu hatayı alıyorum: Geçersiz varyans: tür parametresi 'T' 'MapLibrary.IMapContainer.GetRooms()' üzerine değişmez olarak geçerli olmalıdır. 'T' kovaryanttır.
IEnumerable'ın öğeleri döndürdüğünden ve bunun eklenemeyeceğinden, bunun geçerli olacağını düşündüğüm izlenim altındaydım. Bu neden güvenli değil + geçerli?
Üzgünüm, ama neden T '? Buna ihtiyacın var mı? –
Niçin Arayüzünüzden bir çıkış parametresi var? Neyi başarmaya çalışıyorsun? Benim bakış açımdan tuhaf/yanlış görünüyor. –
@ Xtian, Andre, http://msdn.microsoft.com/en-us/library/dd997386.aspx. –