C# NET中的System.Runtime.InteropServices.UCOM*类和System.Runtime.InteropServices.ComTypes.*类之间有区别吗?

C# NET中的System.Runtime.InteropServices.UCOM*类和System.Runtime.InteropServices.ComTypes.*类之间有区别吗?,c#,.net,interop,obsolete,C#,.net,Interop,Obsolete,我正在尝试从旧系统中删除一系列警告,其中一个是: “System.Runtime.InteropServices.ucomineummoniker”已过时:“请改用System.Runtime.InteropServices.ComTypes.IEnumMoniker。” System.Runtime.InteropServices中的其他UCOM类也有类似的警告。这个警告实际上相当清楚地说明了该怎么做,我真的很想遵循它给出的建议。如果他们只是重命名类(删除“UCOM”部分)并将它们移动到Com

我正在尝试从旧系统中删除一系列警告,其中一个是:

“System.Runtime.InteropServices.ucomineummoniker”已过时:“请改用System.Runtime.InteropServices.ComTypes.IEnumMoniker。”

System.Runtime.InteropServices
中的其他UCOM类也有类似的警告。这个警告实际上相当清楚地说明了该怎么做,我真的很想遵循它给出的建议。如果他们只是重命名类(删除“UCOM”部分)并将它们移动到
ComTypes
名称空间中,我会非常乐意这样做。但我不知道他们是否真的这样做了,所以我要问你,因为如果真的发生了什么事情改变了这些类,我不太愿意只使用新的类,因为我没有真正的方法来广泛测试任何变化(这是一个我现在真的不想讨论的另一个问题)

那么,有人知道这些旧的和新的类之间是否有真正的区别吗


谢谢

我敢肯定,它们之所以被重命名,是因为它们违反了.NET framework命名标准。接口类型名称必须以字母“I”开头。声明之间有一些非常微妙的差异,没有什么会让您陷入麻烦