我有
public interface IPersistedModel<TModel, TIdentifier>
我想定义一个接口(interface),其中有一个使用上面的泛型类型参数的泛型方法。有没有办法做到这一点?我尝试了以下方法,但都没有编译。
public interface IModelCollection1<IPersistedModel<TModel, TIdentifier>>
{
IEnumerable<TModel> ReadCollection(TIdentifier identifier);
}
或
public interface IModelCollection2<T> where T : IPersistedModel<TModel, TIdentifier>
{
IEnumerable<TModel> ReadCollection(TIdentifier identifier);
}
最佳答案
不幸的是,您需要在接口(interface)本身中包含泛型类型:
public interface IModelCollection<T, TModel, TIdentifier>
where T : IPersistedModel<TModel, TIdentifier>
{
IEnumerable<TModel> ReadCollection(TIdentifier identifier);
}
关于c# - 如何在 C# 接口(interface)中使用泛型类型参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11264609/