【发布时间】:2012-03-26 11:44:57
【问题描述】:
我只是尝试更深入地研究 .NET 4.5 / .NET 4.5 for Metro 风格应用程序 / WinRT 之间的关系。
我认为.NET Metro 的参考程序集(位于 Program Files(x86)\Reference Assemblies\Microsoft\Framework.NETCore\v4.5 中)在参考程序集系统中定义了 System.String 类型。运行。 但是,“常规”.NET 4.5 的参考程序集在 mscorlib 中定义了 System.String 类型,而 System.Runtime 参考程序集为空。
首先我认为这可能是因为基于 Metro 的应用程序可能使用了不同的字符串实现,这是与本机 WinRT 层通信所必需的。 但是,我在控制台应用程序和 Metro Style 应用程序中尝试了以下代码:
System.String k = "abc"; var m = k.GetType().AssemblyQualifiedName.
猜猜看:在这两种情况下,字符串的托管程序集都是相同的 mscorlib。
那么,为什么微软没有像往常一样在 mscorlib 中简单地定义所有这些原始类型呢?
谢谢, TH
【问题讨论】:
-
那是 [TypeForwardedTo] 在工作。博文在这里:wintellect.com/CS/blogs/jeffreyr/archive/2011/09/20/…
标签: c# .net windows-runtime