互通性警告
互通性警告支援與 COM 用戶端進行互動。
在本節中
規則 |
說明 |
---|---|
公用或受保護的方法是使用 System.Runtime.InteropServices.DllImportAttribute 屬性來標記。 有可能是找不到 Unmanaged 程式庫,或是方法不符合程式庫中的函式。 |
|
公用型別中公用或保護的方法具有 System.Runtime.InteropServices.DllImportAttribute 屬性 (也會由 Visual Basic 中的 Declare 關鍵字實作)。 但不得公開 (Expose) 此類方法。 |
|
當多載方法會對 COM 用戶端公開 (Expose) 時,只有第一個方法多載會保留它的名稱。 後續的多載則會透過將名稱附加至底線字元 (_) 和對應於多載宣告之順序的整數,重新命名為唯一的名稱。 |
|
COM 可見實值型別是使用設為 LayoutKind.Auto 的 System.Runtime.InteropServices.StructLayoutAttribute 屬性來標記。 這些型別的配置可能會在 .NET Framework 的版本之間變更,進而中斷必須有特定配置的 COM 用戶端。 |
|
系統會對 Marshal.GetLastWin32Error 方法或對等 Win32 GetLastError 函式進行呼叫,而且緊接在前的呼叫並不是平台叫用方法。 |
|
COM 可見型別會衍生自不是 COM 可見的型別。 |
|
Visual Basic 6 COM 用戶端無法存取 64 位元整數。 |
|
COM 不支援靜態方法。 |
|
使用雙重介面 (Dual Interface) 的型別可讓用戶端繫結至特定的介面配置。 在未來版本中,若型別或任何基底型別 (Base Type) 的配置有所變更,將會中斷繫結至此介面的 COM 用戶端。 根據預設,如果未指定 ClassInterfaceAttribute 屬性,則會使用分派介面。 |
|
特別標示為 COM 可見的參考型別 (Reference Type) 包含公用參數化建構函式,但不包含公用預設 (無參數) 建構函式。 COM 用戶端無法建立沒有公用預設建構函式的型別。 |
|
型別會宣告使用 System.Runtime.InteropServices.ComRegisterFunctionAttribute 屬性 (Attribute) 所標記的方法,但不會宣告使用 System.Runtime.InteropServices.ComUnregisterFunctionAttribute 屬性所標記的方法 (反之亦然)。 |
|
使用 System.Runtime.InteropServices.ComRegisterFunctionAttribute 屬性或 System.Runtime.InteropServices.ComUnregisterFunctionAttribute 屬性來標記的方法為外部可見。 |
|
型別是使用 System.Runtime.InteropServices.ComSourceInterfacesAttribute 屬性來標記,而且至少其中一個指定的介面不是使用設為 ComInterfaceType.InterfaceIsIDispatch 的 System.Runtime.InteropServices.InterfaceTypeAttribute 屬性來標記。 |
|
COM 可見實值型別的非公用執行個體欄位對 COM 用戶端而言是可見的。 請檢閱不應該公開之資訊的欄位內容,或是會造成未預期的設計或安全性結果的欄位內容。 |
|
布林資料型別在 Unmanaged 程式碼中有多種表示。 |
|
此規則會尋找以 Win32 函式為目標 (具有指向 OVERLAPPED 結構參數的指標) 的平台叫用方法宣告,而且相對應的 Managed 參數不是指向 System.Threading.NativeOverlapped 結構的指標。 |