System.Text.Normalization.nativeNormalizationNormalizeString C# (CSharp) Method

nativeNormalizationNormalizeString() private method

private nativeNormalizationNormalizeString ( NormalizationForm NormForm, int &iError, String lpSrcString, int cwSrcLength, char lpDstString, int cwDstLength ) : int
NormForm NormalizationForm
iError int
lpSrcString String
cwSrcLength int
lpDstString char
cwDstLength int
return int
        unsafe private static extern int nativeNormalizationNormalizeString(
            NormalizationForm NormForm, ref int iError,
            String lpSrcString, int cwSrcLength,
            char[] lpDstString, int cwDstLength);

Usage Example

示例#1
0
        internal static string Normalize(string strInput, NormalizationForm normForm)
        {
            Normalization.EnsureInitialized(normForm);
            int num1 = 0;
            int num2 = (int)normForm;
            // ISSUE: explicit reference operation
            // ISSUE: variable of a reference type
            int&   iError1      = @num1;
            string lpSrcString1 = strInput;
            int    length1      = lpSrcString1.Length;
            // ISSUE: variable of the null type
            __Null local       = null;
            int    cwDstLength = 0;
            int    length2     = Normalization.nativeNormalizationNormalizeString((NormalizationForm)num2, iError1, lpSrcString1, length1, (char[])local, cwDstLength);

            if (num1 != 0)
            {
                if (num1 == 87)
                {
                    throw new ArgumentException(Environment.GetResourceString("Argument_InvalidCharSequenceNoIndex"), "strInput");
                }
                if (num1 == 8)
                {
                    throw new OutOfMemoryException(Environment.GetResourceString("Arg_OutOfMemoryException"));
                }
                throw new InvalidOperationException(Environment.GetResourceString("UnknownError_Num", (object)num1));
            }
            if (length2 == 0)
            {
                return(string.Empty);
            }
            char[] chArray;
            do
            {
                chArray = new char[length2];
                int num3 = (int)normForm;
                // ISSUE: explicit reference operation
                // ISSUE: variable of a reference type
                int&   iError2      = @num1;
                string lpSrcString2 = strInput;
                int    length3      = lpSrcString2.Length;
                char[] lpDstString  = chArray;
                int    length4      = lpDstString.Length;
                length2 = Normalization.nativeNormalizationNormalizeString((NormalizationForm)num3, iError2, lpSrcString2, length3, lpDstString, length4);
                if (num1 != 0)
                {
                    if (num1 <= 87)
                    {
                        if (num1 != 8)
                        {
                            if (num1 == 87)
                            {
                                goto label_15;
                            }
                            else
                            {
                                goto label_17;
                            }
                        }
                        else
                        {
                            goto label_16;
                        }
                    }
                }
                else
                {
                    goto label_18;
                }
            }while (num1 == 122);
            if (num1 != 1113)
            {
                goto label_17;
            }
label_15:
            throw new ArgumentException(Environment.GetResourceString("Argument_InvalidCharSequence", (object)length2), "strInput");
label_16:
            throw new OutOfMemoryException(Environment.GetResourceString("Arg_OutOfMemoryException"));
label_17:
            throw new InvalidOperationException(Environment.GetResourceString("UnknownError_Num", (object)num1));
label_18:
            return(new string(chArray, 0, length2));
        }
All Usage Examples Of System.Text.Normalization::nativeNormalizationNormalizeString