2

我有一个接口,由存储库使用)与该成员一起使用:

T FindById<T, TId>(TId id)
    where T : class, IEntity<TId>
    where TId : IEquatable<TId>;

这允许调用者指定实体类型 ( T) 及其Id字段的类型 ( TId)。然后,此接口的实现者将找到类型的实体T并使用id参数根据它们的 id(在 上定义IEntity<TId>)过滤它们。

目前我这样称呼它:

int id = 123;
var myApproval = PartsDC.FindById<Approval, int>(id);

理想情况下,我想这样做:

int id = 123;
var myApproval = PartsDC.FindById<Approval>(id);

我认为第二个通用参数应该能够通过它id是一个事实来推断int(所以这就是我的第二个通用参数)。

是否有可能得到这样的东西,我不必在我的班级中指定 id 字段的类型?

4

0 回答 0