c# - Metro C# 中缺少 String.Intern() 方法

标签 c# windows-8 microsoft-metro

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

最佳答案

这是 CLR 中内置的语言投影不可避免的副作用,它启用了“.NET for Metro style apps”api。该投影将从 WinRT api 调用获得的字符串映射到 System.String。底层字符串根本不是托管字符串,也不存在于垃圾收集堆中。是an HSTRING.语言投影使其表现得像 System.String

因此,在那个 api 中,String 类没有专门针对托管字符串的方法。与 Intern() 和 IsInterned() 一样,它们只能用于托管字符串。 Copy、Clone 和 GetEnumerator 也是 awol。对此没有解决方法,对 mscorlib 中托管 String 类的访问完全被引用程序集阻止,它的类型被转发到 System.Runtime.dll。您必须在没有该方法的情况下使其工作。

关于c# - Metro C# 中缺少 String.Intern() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11521675/

相关文章:

c# - 如何使用 MVVM 和 Xamarin.Forms ListView ItemSelected 事件来检索所选项目的绑定(bind)属性?

Windows 8 语音转文本和文本转语音 API

javascript - jQuery 和 Windows 8 JavaScript Metro 风格应用程序

windows-8 - 我的应用程序的试用用户可以使用我的应用程序内购买吗?

c# - 如何获取异常的完整 C# 堆栈跟踪,就像我在 Visual Studio 中看到的那样?

c# - Ajax.BeginForm 替换整个页面

windows-8 - Windows 8 快照 View

xaml - C#/XAML Metro 应用程序中的 DatePicker 控件?

css - 无法在 Windows 8 HTML5 应用程序中使用某些颜色

c# - 使用递归获取整数中的位数