gpt4 book ai didi

c# - 继承和 'Curiously Recurring Template Pattern'

转载 作者:行者123 更新时间:2023-11-30 12:14:08 25 4
gpt4 key购买 nike

在 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>

和下面的 View 模型

public class BrowseViewModel
{
public [INTERFACE] People { get; set; }
}

但我需要在标记为 [INTERFACE] 的位置有一个接口(interface)/类,它可以同时使用 SqlBrowseBoys 和 SqlBrowseGirls,这样我就可以在多个地方使用 BrowseViewModel。

如果有人能告诉我我的大脑现在是如何打结的,我会很高兴。我怀疑这将需要对类进行一些更改,这很好,但我目前不知道那会是什么。

非常非常感谢。

最佳答案

SqlBrowse<T>实现一个非通用的 SqlBrowse接口(interface)(或抽象类),然后编写

public SqlBrowse People { get; set; }

很难说您的类会发生哪些变化,因为我们没有它们的定义。

关于c# - 继承和 'Curiously Recurring Template Pattern',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10222104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com