Поделиться через


Правила переносимости и взаимодействия

Правила переносимости поддерживают возможность переноса между различными платформами. Правила взаимодействия поддерживают взаимодействие с клиентами COM.

Содержание раздела

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