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.
谁能告诉我为什么?