可移植性和互作性规则

可移植性规则支持跨不同平台的可移植性。 互作性规则支持与 COM 客户端的交互。

本节内容

规则 描述
CA1401:P/Invokes 应为不可见 公共类型中的公共或受保护方法具有 System.Runtime.InteropServices.DllImportAttribute 属性(也由 Visual Basic 中的 Declare 关键字实现)。 不应公开此类方法。
CA1416:验证平台兼容性 在组件上使用依赖于平台的 API 可使代码在所有平台上不再工作。
CA1417:不要对 P/Invokes 的字符串参数使用 OutAttribute 如果该字符串为暂存的字符串,则通过包含 OutAttribute 的值传递的字符串参数可能使运行时变得不稳定。
CA1418:使用有效的平台字符串 平台兼容性分析器需要有效的平台名称和版本。
CA1419:提供一个无参数构造函数,该构造函数应像派生自“System.Runtime.InteropServices.SafeHandle”的具体类型的包含类型一样可见 为从 System.Runtime.InteropServices.SafeHandle 派生的类型提供一个与其包含类型同样可见的无参数构造函数,可以提升源生成互操作解决方案的性能和使用。
CA1420:属性、类型或特性需要运行时封送 禁用运行时封送时使用需要运行时封送的功能将导致运行时异常。
CA1421:应用 DisableRuntimeMarshallingAttribute 时,方法使用运行时封送 方法使用运行时封送,并且运行时封送处理已显式禁用。
CA1422:验证平台兼容性 不建议从可从该 OS(版本)访问的调用站点调用在给定 OS(版本)中过时的 API。