在MVC项目中,我有以下几个类:
public abstract class Browse<T> where T : Browse<T>
public abstract class SqlBrowse<T> : Browse<T> where T : Browse<T>
public class SqlBrowseBoys : SqlBrowse<SqlBrowseBoys>
public class SqlBrowseGirls : SqlBrowse<SqlBrowseGirls>
和以下视图模型
public class BrowseViewModel
{
public [INTERFACE] People { get; set; }
}
但是我需要一个标记为[INTERFACE]的位置的接口/类,它可以同时使用SqlBrowseBoys和SqlBrowseGirls,所以我可以在多个地方使用BrowseViewModel。
如果有人可以告诉我,我的大脑现在被束缚了,我会喜欢它。我怀疑这需要对课程进行一些更改,这很好,但我目前不知道会是什么。
很多,非常感谢。
答案 0 :(得分:3)
让SqlBrowse<T>
实现非泛型SqlBrowse
接口(或抽象类),然后编写
public SqlBrowse People { get; set; }
很难说出你的课程会有什么变化,因为我们没有定义。