Код: Выделить всё
public interface ICollectionItem
{}
Код: Выделить всё
public class CollectionItem : NotifyPropertyChanged, ICollectionItem
{}
Код: Выделить всё
public class DeviceItem : CollectionItem, IDisposable, IAsyncDisposable
{
public DeviceItem(DeviceCollectionBase deviceCollection)
{}
}
Код: Выделить всё
public abstract class DeviceCollectionBase : PacedItemCollection, IDisposable, IAsyncDisposable where T : ICollectionItem
{
protected override async Task UpdateCollection()
{
var v = new DeviceItem(this)...
}
}
Итак, здесь у нас есть определение параметра, запрашивающее ICollectionItem, и параметр, переданный в реализацию из ICollectionItem
Мои игры с ковариацией и/или контрвариантностью - дерьмо, поэтому я не совсем понимаю, где я ошибаюсь, и как обойти эту проблему, любая помощь пожалуйста?
Подробнее здесь: https://stackoverflow.com/questions/788 ... rameter-pa