我有一个具有以下签名的功能
string[] GetUserRoleIdsWithAccess<TEntity, T>(TEntity entity) where TEntity
: IEntity<T>, IAclSupported;
我尝试在类似这样的其他功能中使用它
_aclService.GetUserRoleIdsWithAccess(entity).ToList();
其中实体是在以下函数中定义的:
void PrepareModelUserRoles<TModel, TEntity, T>(TModel model, TEntity entity, bool ignoreAclMappings)
where TModel : IAclSupportedModel where TEntity : IEntity<T>, IAclSupported
但是,我不断得到
The type arguments for method
'IAclService.GetUserRoleIdsWithAccess<TEntity, T>(TEntity)' cannot be
inferred from the usage. Try specifying the type arguments explicitly.
请问我该怎么做。
答案 0 :(得分:0)
这是C#类型推断的限制。要解决此问题,您应该明确输入类型,如您的问题评论中所述:
(用正确的类型替换T1和T2)
_aclService.GetUserRoleIdsWithAccess<T1, T2>(entity).ToList();