可移植性和互操作性规则
可移植性规则支持跨不同平台的可移植性。 互操作性规则支持与 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) 。 |