metro c#中缺少String.Intern()方法

如何在Metro c#中获取字符串实习方法。 如果在Windows 8 c#中找不到,是否有任何等效的方法来维护系统对指定String的引用。

这是CLR中内置语言投影不可避免的副作用,它支持“.NET for Metro风格应用程序”API。 该投影将从WinRT api调用获得的字符串映射到System.String。 底层字符串根本不是托管字符串,并不存在于垃圾收集堆上。 这是一个HSTRING。 语言投影使其行为类似于System.String

因此,在该api中,String类没有特定于托管字符串的方法。 像Intern()和IsInterned()一样,它只适用于托管字符串。 复制,克隆和GetEnumerator也很棒。 对此没有解决方法,对mscorlib中托管的String类的访问完全被引用程序集阻止,它将类型转发到System.Runtime.dll。 如果没有这种方法,你必须让它工作。