次のエラーが表示されます。
タイプ「Test.ICacheProvider」は、ジェネリック タイプまたはメソッド「StorageManager.Test.IFileInfo」のタイプ パラメータ「TStorageProvider」として使用できません。「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> { }