移植性ルールでは、異なるプラットフォーム間での移植性がサポートされます。 相互運用性ルールは、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 (バージョン) で古い API を、その OS (バージョン) から到達可能な呼び出しサイトから呼び出すことは推奨されません。 |
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET