visual studio 设计器 不能实例化 抽象类的几种解决方案
来源:互联网 发布:金牛考勤网络连接 编辑:程序博客网 时间:2024/05/02 17:27
The designer must create an instance of type '<type name>', but it can't because the type is declared as abstract
问题产生的原因:This error occurred because the base class of the object being passed to the designer is abstract, which is not allowed.
三种解决方案:
1. 使用 TypeDescriptionProvider 属性
[TypeDescriptionProvider(typeof(SubstituteBaseUserControlProvider))]
public abstract class BaseUserControl: UserControl
[TypeDescriptionProvider(
typeof
(AbstractCommunicatorProvider))]
public
abstract
partial
class
Form1 : Form
另外:我也测试了一下vs2012并不需要做上面的处理,他本身就支持抽象UI类的继承
2. 不实用 abstract 关键字
实现这些抽象方法 ( abstract method )并在方法中抛出异常
3. 使用一个中间类
假设有如下代码:
public class Form1 : BaseForm...public abstract class BaseForm : Form
将代码改成这样的形式:
public class Form1 : MiddleClass...public class MiddleClass : BaseForm... public abstract class BaseForm : Form...问题就会得到解决。
更进一步你可以在 Form1.cs用:
publicclass Form1
#if DEBUG
: MiddleClass
#else
: BaseForm
#endif
Tag: 在设计器中无法创建抽象的实例 2011-11-28 1:08 PM IS2120@CSDN
- visual studio 设计器 不能实例化 抽象类的几种解决方案
- Visual Studio 断点不能取消的解决方案
- Microsoft Visual Studio 2005 设计窗口不能打开解决方案
- 不能实例化抽象类的浅尝
- 抽象类不能实例化
- 关于“不能实例化抽象类“错误的解决办法
- 为什么抽象类不能实例化的解释
- 抽象类是不能被实例化的
- 抽象类真的不能实例化么?
- java抽象类不能实例化&实践是检验真理的唯一标准
- 抽象类不只是不能实例化
- 不能实例化抽象类 是什么原因?
- 为什么抽象类不能实例化?
- 抽象类不能被实例化
- C++ 不能实例化抽象类
- 网狐“CTableFrameSink”: 不能实例化抽象类
- 【Debug】不能实例化抽象类
- 抽象类不能进行实例化吗?
- Java版MD5加密算法
- ORACLE 查找最大表以及最大表空间
- SQL语句复制表
- 课程设计账户管理系统(3)
- android apk 包混淆问题 加密
- visual studio 设计器 不能实例化 抽象类的几种解决方案
- 设计模式:State模式
- Java版短网址(ShortUrl)的算法
- FPGA速度等级问题(Speed Grade)
- 关于Selenium脚本在Win7 IE8环境下出现“当前页面脚本出现错误”
- 类似launcher桌面滑动效果
- 对一篇预言的评论
- IE7与IE8浏览器下session cookie的共享问题以及区别
- 怎样去学习