可攜性與互通性規則
可攜性規則支援跨不同平台的可攜性。 互通性規則支援與 COM 用戶端的互動。
本節內容
規則 | Description |
---|---|
CA1401:不應顯示 P/Invokes | 公用類型中公用或受保護的方法具有 System.Runtime.InteropServices.DllImportAttribute 屬性 (也會由 Visual Basic 中的 Declare 關鍵字實作)。 但不得公開 (Expose) 此類方法。 |
CA1416:驗證平台相容性 | 在元件上使用相依於平台的 API,會使程式碼無法繼續在所有平台上運作。 |
CA1417:請勿對 P/Invokes 的字串參數使用 OutAttribute |
如果字串是暫留字串,使用 OutAttribute 以值傳遞的字串參數,可能會使執行階段不穩定。 |
CA1418:請使用有效的平台字串 | 平台相容性分析器需要有效的平台名稱和版本。 |
CA1419:請提供無參數的建構函式,其可見度與衍生自 'System.Runtime.InteropServices.SafeHandle' 之實體類型的包含類型相同 | 提供的無參數建構函式可見度如果與衍生自 System.Runtime.InteropServices.SafeHandle 之類型的包含類型相同,可在原始檔產生的 interop 解決方案提升效能與使用情況。 |
CA1420:屬性、型別或屬性需要執行階段封送處理 | 停用執行階段封送處理時,使用需要執行階段封送處理的功能會導致執行階段例外狀況。 |
CA1421:套用 'DisableRuntimeMarshallingAttribute ' 時,方法會使用執行階段封送處理 | 某方法使用執行階段封送處理,而執行階段封送處理已明確停用。 |
CA1422:驗證平台相容性 | 不建議從指定 OS (版本) 可連線的呼叫網站,呼叫在該 OS (版本) 中過時的 API。 |