相关疑难解决方法(0)

从'System.Collections.Generic.List <T>'到'T'没有隐式引用转换

class Class1<T>
{
    public virtual void Update(T entity)
    {
        Update(new List<T>() { entity }); //It's failed
    }

    public virtual void Update(IEnumerable<T> entities)
    {
    }

    public virtual void Update<TSub>(TSub entity) where TSub : T
    {
    }

    public virtual void Update<TSub>(IEnumerable<TSub> entities) where TSub : T
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一段代码.但它总是失败.

如果我换Update(new List<T>() { entity })Update((new List<T>() { entity }).AsEnumerable()),那就没问题了.

删除第三种方法时也可以Update<TSub>(TSub entity) where TSub : T.

谁能告诉我为什么?

c# generics

21
推荐指数
3
解决办法
2526
查看次数

标签 统计

c# ×1

generics ×1