小编Ras*_*par的帖子

深入探讨开源代码

您何时认为有必要深入了解开源工具的源代码,以了解您使用的工具集?(nHibernate,StructureMap,Rhino Mocks等)

open-source

9
推荐指数
1
解决办法
337
查看次数

通用类型问题的推论

我想这更像是一个公开咆哮,但为什么我不能用c#来推断我的Id类型?

public EntityT Get<EntityT>(IdT id) where EntityT : EntityObject<IdT>
Run Code Online (Sandbox Code Playgroud)

和Guid作为Id的已定义EntityObject如下:

public Foo : EntityObject<Guid>
Run Code Online (Sandbox Code Playgroud)

继承自如下定义的抽象EntityObject类:

public abstract class EntityObject<IdT>
{
    public IdT id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

get方法的用法如下:

IRepository repository = new Repository();
var hydratedFoo = repository.Get<Foo>(someGuidId);
Run Code Online (Sandbox Code Playgroud)

编辑以提供进一步的说明.

c# generics types inference

6
推荐指数
1
解决办法
474
查看次数

标签 统计

c# ×1

generics ×1

inference ×1

open-source ×1

types ×1