我在WPF中编写了这段代码:
System.Windows.Controls.Panel Panel1 = null;
Panel1 = new System.Windows.Controls.Panel();
但它是这样说的:
Error1 Cannot create an instance of the abstract class or interface 'System.Windows.Controls.Panel'
如何解决这个问题?任何人都可以回答我的问题。
答案 0 :(得分:5)
来自MSDN -
抽象类无法实例化,而且经常也是如此 部分实施,或根本没有实施。
如果您需要Panel
,请创建一个派生自Panel的类的对象。最受欢迎的是
可以找到从{Panels}派生的类的完整列表here。
这将符合您的目的 -
System.Windows.Controls.Panel Panel1 = new System.Windows.Controls.DockPanel();
但我认为您需要访问DockPanel的Dock
属性(以及特定于DockPanel的属性),因此您应该创建DockPanel对象 -
System.Windows.Controls.DockPanel Panel1 = new System.Windows.Controls.DockPanel();
答案 1 :(得分:1)
您无法创建抽象类的实例,请参阅abstract keyword
您可以从抽象类派生,然后您可以将派生的对象用作抽象类型,请参阅polymorphism和inheritance