Click here to Skip to main content
Click here to Skip to main content

Changing Type

By , 15 Feb 2010
 
Sometimes you need to change objects type to another type.Convert.ChangeType does this job for you. But when you use Nullable(Of T), this function throws an exception.
You can use the following function to change type(including Nullable types) safely...
 
    Private Function CType2(ByVal refObject As Object, ByVal destType As System.Type) As Object
        If destType Is Nothing Then Throw New ArgumentException("Destination Type is null")
        If refObject.GetType() Is destType Then Return refObject
        If destType.IsGenericType And destType.GetGenericTypeDefinition().Equals(GetType(Nullable(Of ))) Then
            If refObject Is Nothing Then Return Nothing
            Dim c As New System.ComponentModel.NullableConverter(destType)
            destType = c.UnderlyingType
        End If
        Return Convert.ChangeType(refObject, destType)
    End Function

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

yozi
Software Developer (Senior) Adasoft
Turkey Turkey
Member
I'm a software developer at Adasoft.
My specialists is on Web and Silverlight.
 
Especially i like wroting javascript codes(It is much harder,but gets more satisfaction Smile | :) )
 
You can reach my tips at my homepage(Turkish only)

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
-- There are no messages in this forum --
Permalink | Advertise | Privacy | Mobile
Web01 | 2.6.130523.1 | Last Updated 16 Feb 2010
Article Copyright 2009 by yozi
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid