whereSet<TEntity>()返回 type 的集合TEntity。这究竟是如何编码的?我试图找到它的源代码无济于事。我是否需要创建自己的类并完整地写出逻辑?
holdtom
浏览 153回答 3
3回答
繁星coding
我不知道 EF 是如何做到的,但是您可以使用 Types 键控的 Dictionary 轻松完成类似的操作private Dictionary<Type, ICollection> registry = new Dictionary<Type, ICollection>();// adds a collection of a certain typepublic void Add<T>(T collection) where T: ICollection { registry.Add(typeof(T), collection);}// create an empty collection of type T and add it to registrypublic void InitCollection<T>() where T: ICollection { registry.Add(typeof(T), (ICollection)Activator.CreateInstance(typeof(T)));}// returns a collection of type T if it has been registeredpublic T Set<T>() where T: ICollection { return (T)registry[typeof(T)];}