自动生成的C#类型的GUID是否一致?例如,如果我获得了我的接口的GUID,IFoo(typeof(IFoo).GUID
),第一次运行程序时,每次运行程序时我都会获得相同的GUID吗?
我已经在我的机器上进行了本地测试,它似乎总是相同,但我不确定我是否可以依赖它在机器上始终保持相同。
答案 0 :(得分:15)
请参阅:System.Type.GUID stability。看来该方法的当前实现依赖于CLR本身实现的内部调用。除非Microsoft澄清自动生成的Guids的合同(Type.GUID
文档目前在此问题上保持沉默),否则我不会依赖于观察到的行为。为了确保一致性,我建议使用GuidAttribute
明确地解析相关类型。
答案 1 :(得分:0)
没有记录,所以我不会完全依赖它们,并表示将来可能会或可能不会改变。