无法对ContainsGenericParameters为true的类型或方法执行后期绑定操作

我有一个所有实体的扩展:

public static class EntityBaseExtensions { public static T Clone(this T item) where T : EntityBase { return item.EntityClone(); } } 

  public virtual T EntityClone() where T : EntityBase { return this.MemberwiseClone() as T; } 

但当我称之为:

  var details = user.Details.Clone(); 

我明白了

无法对ContainsGenericParameters为true的类型或方法执行后期绑定操作。

有任何想法吗?

解决方案有点奇怪:

 public static T Clone(this T item) where T : SimpleEntityBase { return (T)item.EntityClone(); } 

 public virtual object EntityClone() { return this.MemberwiseClone(); }