我有一个包含对象列表的自定义控件。该控件由可视化设计工具实例化,然后在代码中进行配置。该控件是一个网格,显示实体列表。
我有一个像这样的初始化方法。
public void Initialise(ISession session, Type type, ICollection<IPersistentObject> objs)
IPersistentObject是一个接口。然而,当我想要分配一个实现IPersistentObject的东西的集合时,这并不起作用。
所以我把它改成了这样。
public void Initialise<T>(ISession session, Type type, ICollection<T> objs) where T : class, IPersistentObject
但现在我想将objs参数分配给类型为
ICollection<IPersistentObject>
的成员变量,但这不起作用。我无法使该类泛型,因为据我所知,它是一个不能有泛型类型的控件。我无法复制集合,因为控件必须修改传入的集合,而不是复制并修改那个集合。
我该怎么办?