Eliminar diacríticos en Silverlight (String. Normalizar problema)

Creé una función que transforma los caracteres diacríticos en caracteres no diacríticos (basado en estoenviar)

Aquí está el código:

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

Desafortunadamente, como String.Normlize no es parte de Silverlight, necesito encontrar otra forma de escribir esta función.

La única solución que he encontrado hasta ahora es crear un servicio en el lado del servidor que llame a la función String.Normalize y luego devolverlo al lado del cliente ... pero eso crearía un gran problema de rendimiento.

Debe haber una mejor alternativa, pero sé que no tengo idea de cómo solucionar este problema.

Respuestas a la pregunta(2)

Su respuesta a la pregunta