Ms merge
This commit is contained in:
@@ -366,4 +366,55 @@ Public Class ClassAllgemeineFunktionen
|
||||
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error saving log file")
|
||||
End Try
|
||||
End Sub
|
||||
Public Shared Function NotNull(Of T)(value As Object, defaultValue As T) As T
|
||||
If value Is Nothing OrElse Convert.IsDBNull(value) Then
|
||||
Return defaultValue
|
||||
End If
|
||||
|
||||
' Versuche den Wert in den gewünschten Typ zu konvertieren
|
||||
Try
|
||||
Return CType(value, T)
|
||||
Catch ex As InvalidCastException
|
||||
' Falls die Konvertierung fehlschlägt, gib den Default zurück
|
||||
Return defaultValue
|
||||
End Try
|
||||
End Function
|
||||
Public Shared Function NotNullNullable(Of T As Structure)(value As Object, defaultValue As Nullable(Of T)) As Nullable(Of T)
|
||||
If value Is Nothing OrElse Convert.IsDBNull(value) Then
|
||||
Return defaultValue
|
||||
End If
|
||||
Try
|
||||
' Direkte Casts sind robust, wandeln aber DBNull nicht – das ist bereits oben abgefangen.
|
||||
Return DirectCast(value, Nullable(Of T))
|
||||
Catch
|
||||
Try
|
||||
' Fallback: in T casten und zu Nullable machen
|
||||
Return New Nullable(Of T)(DirectCast(value, T))
|
||||
Catch
|
||||
Return defaultValue
|
||||
End Try
|
||||
End Try
|
||||
End Function
|
||||
Public Shared Function NotNullString(value As Object, defaultValue As Object) As String
|
||||
If value Is Nothing OrElse Convert.IsDBNull(value) Then Return defaultValue
|
||||
Return CStr(value)
|
||||
End Function
|
||||
|
||||
Public Shared Function NotNullDate(value As Object, defaultValue As DateTime) As DateTime?
|
||||
If value Is Nothing OrElse Convert.IsDBNull(value) Then Return defaultValue
|
||||
Return DirectCast(value, DateTime)
|
||||
End Function
|
||||
Public Shared Function NewShortGuid() As String
|
||||
' Neue GUID erzeugen
|
||||
Dim g As Guid = Guid.NewGuid()
|
||||
|
||||
' In Base64 umwandeln
|
||||
Dim b64 As String = Convert.ToBase64String(g.ToByteArray())
|
||||
|
||||
' Unerwünschte Zeichen ersetzen/entfernen
|
||||
b64 = b64.Replace("=", "").Replace("+", "-").Replace("/", "_")
|
||||
|
||||
' Ergebnis zurückgeben
|
||||
Return b64
|
||||
End Function
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user