Я получаю следующую ошибку.C# Generic Constrains Issue
Типа «Test.ICacheProvider» не может быть использован в качестве параметра типа «» TStorageProvider в универсальном типе или методы «StorageManager.Test.IFileInfo». Нет никакого неявного эталонного преобразования от «StorageManager.Test.ICacheProvider» до «StorageManager.Test.IStorageProvider».
Неправильно ли внутри этой структуры дизайна проекта?
Программа:
// Cache Provider Classes
public interface ICacheProvider { }
public class BaseCacheProvider : ICacheProvider { }
public class DerivedCacheProvider : BaseCacheProvider { }
// Storage Classes
public interface IStorageProvider<TCacheProvider> where TCacheProvider :
ICacheProvider { }
public interface BaseStorageProvider<TCacheProvider> :
IStorageProvider<TCacheProvider> where TCacheProvider : ICacheProvider { }
public interface DerivedStorageProvider : BaseStorageProvider<ICacheProvider> { }
// User Classes
public interface IFileInfo<TStorageProvider>
where TStorageProvider : IStorageProvider<ICacheProvider> { }
public class FileInfo : IFileInfo<ICacheProvider> { }
Не могли бы вы показать нам строку, которая производит ошибку? – Carsten
Ошибка в строке объявления класса FileInfo. –
Я пропустил что-то в этой программе? –