Author:水如烟
Namespace
LzmTW
Public Class uRuntimeHelper
Private Shared gInternalSyncObject As Object
Public Shared ReadOnly Property InternalSyncObject() As Object
Get
If gInternalSyncObject Is Nothing Then
Dim tmpObj As New Object
System.Threading.Interlocked.CompareExchange(gInternalSyncObject, tmpObj, Nothing )
End If
Return gInternalSyncObject
End Get
End Property
Public Shared Function Converter( Of V, T)( ByVal item As V) As T
Dim tmp As Object = CType (item, Object )
Dim mResult As T = CType (tmp, T)
Return mResult
End Function
Public Shared Function ChangeType( ByVal value As Object , ByVal referObject As Object ) As Object
Dim mResult As Object = System.Convert.ChangeType(value, Type.GetTypeCode(referObject.GetType))
Return mResult
End Function
Public Shared Function IsBaseType( ByVal value As Object ) As Boolean
If value Is Nothing Then Return False
Dim mTypeCode As Integer = Type.GetTypeCode(value.GetType)
If mTypeCode = 1 Then Return False ' Object
Dim mTypeCodes As Integer () = CType ([ Enum ].GetValues( GetType (TypeCode)), Integer ())
Return Not (Array.IndexOf( Of Integer )(mTypeCodes, mTypeCode) = - 1 )
End Function
End Class
End Namespace
Public Class uRuntimeHelper
Private Shared gInternalSyncObject As Object
Public Shared ReadOnly Property InternalSyncObject() As Object
Get
If gInternalSyncObject Is Nothing Then
Dim tmpObj As New Object
System.Threading.Interlocked.CompareExchange(gInternalSyncObject, tmpObj, Nothing )
End If
Return gInternalSyncObject
End Get
End Property
Public Shared Function Converter( Of V, T)( ByVal item As V) As T
Dim tmp As Object = CType (item, Object )
Dim mResult As T = CType (tmp, T)
Return mResult
End Function
Public Shared Function ChangeType( ByVal value As Object , ByVal referObject As Object ) As Object
Dim mResult As Object = System.Convert.ChangeType(value, Type.GetTypeCode(referObject.GetType))
Return mResult
End Function
Public Shared Function IsBaseType( ByVal value As Object ) As Boolean
If value Is Nothing Then Return False
Dim mTypeCode As Integer = Type.GetTypeCode(value.GetType)
If mTypeCode = 1 Then Return False ' Object
Dim mTypeCodes As Integer () = CType ([ Enum ].GetValues( GetType (TypeCode)), Integer ())
Return Not (Array.IndexOf( Of Integer )(mTypeCodes, mTypeCode) = - 1 )
End Function
End Class
End Namespace