c# – Class和Activator.CreateInstance
发布时间:2020-12-15 08:17:24 所属栏目:百科 来源:网络整理
导读:这是一些课程: public class MyClassT,C : IMyClass where T : SomeTClass where C : SomeCClass{ private T t; private C c; public MyClass() { this.t= Activator.CreateInstanceT(); this.c= Activator.CreateInstanceC(); }} 我试图通过这样做来实现这
这是一些课程:
public class MyClass<T,C> : IMyClass where T : SomeTClass where C : SomeCClass { private T t; private C c; public MyClass() { this.t= Activator.CreateInstance<T>(); this.c= Activator.CreateInstance<C>(); } } 我试图通过这样做来实现这个类的对象: Type type = typeof(MyClass<,>).MakeGenericType(typeOfSomeTClass,typeOfSomeCClass); object instance = Activator.CreateInstance(type); 我得到的只是一个System.MissingMethodException(此对象没有no-arg构造函数)… 我的代码出了什么问题? 解决方法
听起来像typeOfSomeTClass或typeOfSomeCClass是一个没有公共无参数构造函数的类型,如下所示:
this.t = Activator.CreateInstance<T>(); this.c = Activator.CreateInstance<C>(); 您可以通过约束强制执行: where T : SomeTClass,new() where C : SomeCClass,new() 在这种情况下,你也可以这样做: this.t = new T(); this.c = new C(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Swift学习—函数
- NetBeans issues and solutions.(build.xml and debug mult
- 一开始 一直不明白,主键自动增长sqlite里面是如何插入的
- ruby-on-rails – 更新到MacOS Sierra时出现Cliver和Phanto
- redux在react-native上使用(二)--加入redux-saga
- 转一个很详细的stm32程序
- nlp – TurboParser的依赖解析输出是什么意思?
- TinyXml 操作XML 常用操作 http://www.cnblogs.com/cy568se
- C语言程序中递归算法的使用实例教程
- ajax 获取 后台数据,前端 select option中显示出来