Есть ли разница между классами 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". Есть несколько очень тонких различий между декларациями, которые не доставят вам неприятностей.