Есть ли разница между классами System.Runtime.InteropServices.UCOM* и System.Runtime.InteropServices.ComTypes.* В.NET?

Я пытаюсь удалить кучу предупреждений из старой системы, и одно из них таково:

"System.Runtime.InteropServices.UCOMIEnumMoniker" устарел: вместо этого используйте System.Runtime.InteropServices.ComTypes.IEnumMoniker. http://go.microsoft.com/fwlink/?linkid=14202'

Есть аналогичные предупреждения для других классов UCOM в System.Runtime.InteropServices, Предупреждение на самом деле довольно ясно о том, что делать, и я действительно хочу последовать совету, который оно дает. Мне было бы совершенно удобно делать это, если бы они просто переименовали классы (удалили часть 'UCOM') и переместили их в ComTypes Пространство имен. Но я не знаю, сделали ли они это, поэтому я спрашиваю вас, потому что, если что-то действительно меняет эти классы, мне не очень удобно просто использовать новые, потому что у меня нет реального способа тщательно тестировать любые изменения (что является другой проблемой, в которую я не хочу сейчас вдаваться).

Итак, кто-нибудь знает, есть ли реальная разница между этими старыми и новыми классами?

Спасибо!

1 ответ

Решение

Я вполне уверен, что они были переименованы из-за грубого нарушения стандартов именования.NET Framework. Имя типа интерфейса должно начинаться с буквы "I". Есть несколько очень тонких различий между декларациями, которые не доставят вам неприятностей.

Другие вопросы по тегам