В нашей библиотеке есть пользовательский элемент управления, который мне нужно унаследовать и внести в него некоторые изменения У меня сейчас проблема в том, что я не могу напрямую создать новый пользовательский элемент управления. Мне нужно вызвать метод в библиотеке, который создаст и передаст экземпляр пользовательского элемента управления. Пожалуйста, проверьте образец кода ниже.
Я попытался использовать приведение, и я получил 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