जैसा कि आपने बताया है, Normalize
method विंडोज स्टोर ऐप्स पर String
class पर उपलब्ध नहीं है।
हालांकि, यह विंडोज एपीआई में NormalizeString
function पर कॉल करता है।
इससे भी बेहतर, यह फ़ंक्शन the approved list of Win32 and COM API functions usable in Windows Store apps में है।
जिसके अनुसार, आप निम्नलिखित घोषणाओं बनाने चाहते हैं:
public enum NORM_FORM
{
NormalizationOther = 0,
NormalizationC = 0x1,
NormalizationD = 0x2,
NormalizationKC = 0x5,
NormalizationKD = 0x6
};
[DllImport("Normaliz.dll", CharSet = CharSet.Unicode, ExactSpelling = true,
SetLastError = true)
public static extern int NormalizeString(NORM_FORM NormForm,
string lpSrcString,
int cwSrcLength,
StringBuilder lpDstString,
int cwDstLength);
फिर आप तो जैसे इसे कहते हैं:
// The form.
NORM_FORM form = ...;
// String to normalize.
string unnormalized = "...";
// Get the buffer required.
int bufferSize =
NormalizeString(form, unnormalized, unnormalized.Length, null, 0);
// Allocate the buffer.
var buffer = new StringBuilder(bufferSize);
// Normalize.
NormalizeString(form, unnormalized, unnormalized.Length, buffer, buffer.Length);
// Check for and act on errors if you want.
int error = Marshal.GetLastWin32Error();
'स्ट्रिंग में ठीक से काम करने मिल सकता है Normalize' normaliz.dll में बनाए गए मूल कार्यों पर निर्भर करता है। मैंने थोड़ा खोला और पाया कि यह [NormalizeString] (http://msdn.microsoft.com/en-us/library/windows/desktop/dd319093 (v = vs.85) .aspx) फ़ंक्शन का उपयोग करता है। चूंकि यह विंडोज के लिए विशिष्ट है क्योंकि यह विंडोज स्टोर ऐप के लिए उपलब्ध नहीं है। दुर्भाग्य से, मुझे विकल्पों के बारे में कोई जानकारी नहीं है। –
@AlexanderManekovskiy आप गलत हैं, ['NormalizeString' Win32 और COM API फ़ंक्शन की अनुमोदित सूची पर है जो Windows Store ऐप्स में प्रयोग योग्य है] (http://msdn.microsoft.com/en-us/library/windows/apps/hh452772)। – casperOne
@ कैस्परऑन वाह, मेरी आँखें कहाँ थीं ?! इस सूची पर इंगित करने के लिए धन्यवाद। –