我在两个看起来几乎相同的类中有一个方法调用:
public override async Task<IEnumerable<TEntity>> GetAsync(
Func<IQueryable<TEntity>, IQueryable<TEntity>> queryShaper,
CancellationToken cancellationToken)
和
public override async Task<IEnumerable<TEntity>> GetAsync(
Func<ISqoQuery<TEntity>, ISqoQuery<TEntity>> queryShaper,
CancellationToken cancellationToken)
我真的很喜欢将签名结合起来(这样我就不必通过以下操作来拥有两个接口:
public override async Task<IEnumerable<TEntity>> GetAsync(
IQueryShaper queryShaper,
CancellationToken cancellationToken)
{
}
并在IQueryShaper
上有一个函数,它根据实现返回正确的Func<>
声明?
这样的事情看起来有可能吗?任何人都有任何想法,我怎么能达到我的目标?