c# - C# - 如何在不指定泛型类型的情况下在“泛型类”类型的 MainForm 类中声明一个变量
问题描述
我有以下通用类:
internal class AutoRegisterThread<T> where T: AutoRegisterAbstract
{
field1....
method1...
}
我有 5 个实现 AutoRegisterAbstract(抽象类)的类。
在我的主表单(内部部分类 MainForm : Form)中,我需要声明一个字段:
AutoRegisterThread<> _currentThread
没有指定泛型类型,因为我可以将 _currentThread 启动为:
_currentThread=new AutoRegisterThread<implementedClass1>
或者
_currentThread=new AutoRegisterThread<implementedClass2>
_currentThread:将在整个表单中使用(在许多事件中)
解决方案
当您在 C# 中有一个泛型类时,您必须提供类型参数。您可以编写另一个不是通用的类。如果有任何逻辑应该在泛型和非泛型类之间共享,您可以将该逻辑移至另一个新类。
推荐阅读
- reactjs - TypeError: (0 , _ApiCalls.default) 不是一个测试 axios 调用的函数
- regex - 在多个字符类上列出运算符而不使用匹配组
- node.js - ExpressJS:req.body 值以字符串“[object Object]”的形式出现
- swift - Swift 协议多个匹配函数命名错误
- java - 如何在Spring AOP中获取代理类的方法参数名称
- eclipse - Eclipse 在保存操作上非常慢。有什么办法可以改善这一点?
- python - pyramid.arima Anaconda 3 安装错误
- php - session_start() 防止在 Wordpress 编辑器中保存
- c# - Azure 构建 - 命名空间“Microsoft”中不存在类型或命名空间名称“OpenApi”
- python - 是否调用 pytest_runtest_teardown 来跳过测试,而 pytest_runtest_setup 不是?