Правила переносимости и взаимодействия
Правила переносимости поддерживают возможность переноса между различными платформами. Правила взаимодействия поддерживают взаимодействие с клиентами 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, устаревший в данной ОС (версии) с сайта вызова, доступного из этой ОС (версии). |
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.