gpt4 book ai didi

c# - 如何创建从泛型类扩展的抽象类

转载 作者:太空宇宙 更新时间:2023-11-03 18:02:25 25 4
gpt4 key购买 nike

有一个类定义如下。

class MvxViewController<TViewModel> where TViewModel : class, IMvxViewModel

我通过简单地扩展来使用这个类,例如:

class MyController : MvxViewController<MyViewModel>

因为我在每个 Controller 中都有重复的任务,所以我想创建一个从 MvxViewController 扩展的抽象类,它又由我的每个 Controller (在需要的地方)扩展。但是,我无法创建这个抽象类,因为语法总是错误的。到目前为止我尝试过的一些事情:

a) abstract class BaseViewController<T> : MvxViewController<T>
b) abstract class BaseViewController<T> where T : MvxViewController<T>
c) abstract class BaseViewController<T> : MvxViewController<T> where T : class

和其他人...但我仍然无法获得正确的语法。这里有什么问题?

最佳答案

抽象类的约束需要是 where T : class, IMvxViewModel 以匹配基类。例如:

abstract class BaseViewController1<T> : MvxViewController<T> where T : class, IMvxViewModel

关于c# - 如何创建从泛型类扩展的抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50743670/

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