[ACCEPTED]-Can you pass a "type" as an argument?-types
Accepted answer
Yes. There is System.Type. You may actually 1 want to do a Generic however.
Function SomeFunction(Of T)(obj As Object) As T
'' Magic
End Function
Great Answer - Here is a generic function 1 to do the same:
Public Sub BindListControlToEnum(Of T)(ListCtrl As ListControl)
Dim itemValues As Array = System.Enum.GetValues(GetType(T))
Dim itemNames As Array = System.Enum.GetNames(GetType(T))
For i As Integer = 0 To itemNames.Length - 1
Dim item As New ListItem(itemNames(i), itemValues(i))
ListCtrl.Items.Add(item)
Next
End Sub
Call it like this:
BindDropdownToEnum(Of MyClass.MyEnum)(MyRadioButtonListControl)
you want to use the
function task(of myType)(value as myType) as MyType
''stuff
return value
end function
0
Yes, though, depending on your requirements, you 4 may want to use CType to do any type casting/conversion. CType 3 will work so long as there is a valid type 2 conversion, whereas DirectCast requires 1 that value
be of the type toType
.
I had to do something similar today (essentially 1 filling in the '' magic
from the accepted answer):
Private Function Convert_Value_Or_Fallback(Of T)(ByRef value As Object, ByRef fallback As Object) As Object
Try
Return DirectCast(value, T)
Catch ex As Exception
Return fallback
End Try
End Function
'call it like this:'
Convert_Value_Or_Fallback(Of Double)(value, 0)
Source:
stackoverflow.com
More Related questions
Cookie Warning
We use cookies to improve the performance of the site. By staying on our site, you agree to the terms of use of cookies.