Я создал пару простых функций в VB.NET, которые просто возвращают элемент управления определенного типа, который я уже знаю, например HtmlInputHidden, Label и т. Д. Это означает, что каждый функций создается только для этого специального назначения.Общая функция VB.NET для возврата элемента управления
Что бы я хотел сделать, это объединить все эти функции в одну функцию с помощью дженериков. Обычными вещами, разделяемыми каждой из функций, являются управляющий идентификатор и тип управления.
То, что я получил до сих пор:
Public Function GetControl(Of T)(ByVal ctrlId As String) As T
Dim ctrl As Control = Me.FindControl(ctrlId)
If (Not ctrl Is Nothing) Then
GetControl = CType(ctrl, T)
Else
GetControl = Nothing
End If
End Function
Но линия "GetControl = CType (Ctrl, T)" дает мне ошибку компиляции:
Value of type 'System.Web.UI.Control' cannot be converted to 'T'
Это в. NET Framework 2.0.
Любое понимание высоко ценится.
John
Это все! Большое вам спасибо за быстрый ответ. – John
Нет проблем! Рад, что я мог бы помочь –
Может использовать TypeOf и DirectCast, чтобы избежать ошибок. –