C#类型自动生成的GUID是否一致?例如,如果我获取我的接口IFoo的GUID(typeof(IFoo).GUID
),第一次运行程序时,每次运行程序都会得到相同的GUID吗?
我已在本地计算机上进行了测试,似乎总是相同的,但我不确定它是否始终在不同的计算机上都是相同的。
参见:System.Type.GUID 稳定性。看起来当前该方法的实现依赖于 CLR 自身实现的内部调用。除非 Microsoft 阐明自动生成的 Guids 的合同(Type.GUID
文件目前对此问题保持沉默),否则我不会依靠观察到的行为。为确保一致性,建议显式地为涉及的类型添加GuidAttribute
。
这个没有文件记录,所以我不会完全依靠它们。再说,实现方法将来可能会改变。