Entfernen von diakritischen Zeichen in Silverlight (String.Normalize-Problem)

Ich habe eine Funktion erstellt, die diakritische Zeichen in nicht-diakritische Zeichen umwandelt (basierend auf diesemPos)

Hier ist der Code:

Public Function RemoveDiacritics(ByVal searchInString As String) As String
    Dim returnValue As String = ""

    Dim formD As String = searchInString.Normalize(System.Text.NormalizationForm.FormD)
    Dim unicodeCategory As System.Globalization.UnicodeCategory = Nothing
    Dim stringBuilder As New System.Text.StringBuilder()


    For formScan As Integer = 0 To formD.Length - 1
        unicodeCategory = System.Globalization.CharUnicodeInfo.GetUnicodeCategory(formD(formScan))
        If unicodeCategory <> System.Globalization.UnicodeCategory.NonSpacingMark Then
            stringBuilder.Append(formD(formScan))
        End If
    Next

    returnValue = stringBuilder.ToString().Normalize(System.Text.NormalizationForm.FormC)

    Return returnValue

End Function

Da String.Normlize nicht zu Silverlight gehört, muss ich leider einen anderen Weg finden, um diese Funktion zu schreiben.

Die einzige Lösung, die ich bisher gefunden habe, besteht darin, einen Dienst auf der Serverseite zu erstellen, der die Funktion String.Normalize aufruft und dann an die Clientseite zurückgibt. Dies würde jedoch ein großes Leistungsproblem verursachen.

Es muss eine bessere Alternative geben, aber ich weiß, dass ich keine Ahnung habe, wie ich dieses Problem beheben kann.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage