Правила переносимости и взаимодействия
Правила переносимости поддерживают переносимость на разных платформах. Правила взаимодействия поддерживают взаимодействие с COM-клиентами.
В этом разделе
Правило | Описание |
---|---|
CA1401: P/Invokes не должно отображаться | Общедоступный или защищенный метод в общедоступном типе имеет атрибут System.Runtime.InteropServices.DllImportAttribute (также реализован ключевым словом Declare в Visual Basic). Такие методы не должны быть разглашены. |
CA1416: Проверьте совместимость платформы | Использование API, зависящих от платформы, в компоненте делает код недоступным для работы на всех платформах. |
CA1417: не используйте OutAttribute для строковых параметров в P/Invokes |
Строковые параметры, передаваемые по значению с помощью OutAttribute , могут дестабилизировать среду выполнения, если строка является интернированной строкой. |
CA1418: использование допустимой строки платформы | Анализатор совместимости платформы требует допустимого имени и версии платформы. |
CA1419: Предоставьте конструктор без параметров, который имеет такую же видимость, как и содержащий его тип, для конкретных типов, производных от System.Runtime.InteropServices.SafeHandle | Предоставление конструктора без параметров, который имеет такую же видимость, как и содержащий его тип, для типа, производного от System.Runtime.InteropServices.SafeHandle , обеспечивает более высокую производительность и удобство использования с решениями взаимодействия, генерируемыми исходным кодом. |
CA1420: свойство, тип или атрибут требуют маршаллинга среды выполнения | Если использовать возможности, требующие маршалинга среды выполнения, когда маршалинг среды выполнения отключен, это приведет к исключениям во время выполнения. |
CA1421: Метод использует маршаллинг среды выполнения при применении атрибута DisableRuntimeMarshallingAttribute | Метод использует маршаллирование среды выполнения, которое в то же время явно отключено. |
CA1422: проверка совместимости платформы | Не рекомендуется вызывать API, устаревший в данной ОС (версии) с сайта вызова, доступного из этой ОС (версии). |
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.