在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。
我很喜欢它,如果有人能告诉我,我的大脑现在如何打结。我怀疑这需要对类进行一些更改,这很好,但我目前不知道那会是什么。
很多很多,谢谢。
Eric Lippert发布了关于Curiously Recurring Template Pattern [这里](http://blogs.msdn.com/b/ericlippert/archive/2011/02/03/curiouser-and-curiouser.aspx),这应该是很有帮助。 – 2012-04-19 05:23:20
是的,这就是在搜索到上面的代码后,我学习了模式的名称和关于它的一些信息,但是这对我目前的问题没有帮助。不过谢谢。 – Bobbler 2012-04-19 05:32:27