我在我们的库中有一个用户控件,我需要继承它并对其进行一些更新。我现在遇到的问题是我无法直接实例化新的用户控件。我必须调用库中的一个方法,该方法将创建并传递用户控件的实例。请检查下面的示例代码。
我尝试使用强制转换,但得到了 InvalidCastException。我认为这是因为第二个比第一个需要更多的存储空间。
在此先感谢您提供帮助。
Namespace ProjectA.Components
Public Class MainClass
Public Function CreateCustomControl() As CustomControl
Dim cc As CustomControl = Activator.CreateInstance(Of CustomControl)()
Return cc
End Function
End Class
Public Class CustomControl
Inherits System.Windows.Forms.UserControl
End Class
End Namespace
Namespace ProjectB
Public Class ExtendedCustomControl
Inherits ProjectA.Components.CustomControl
End Class
Public Class MainForm
Inherits System.Windows.Forms.Form
Private Sub CreateInstance()
Dim i As New ProjectA.Components.MainClass
Dim myControl As ExtendedCustomControl = i.CreateCustomControl
' InvalidCastException is thrown.
End Sub
End Class
End Namespace