共用方式為


CA1409:COM 可見類型應該是可建立的

型別名稱

ComVisibleTypesShouldBeCreatable

CheckId

CA1409

分類

Microsoft.Interoperability

中斷變更

中斷

原因

特別標示為元件物件模型 (Component Object Model,COM) 可見的參考型別 (Reference Type) 包含公用參數化建構函式,但不包含公用預設 (無參數) 建構函式。

規則描述

COM 用戶端無法建立沒有公用預設建構函式的型別。不過,如果有其他方式可供建立型別並傳遞至用戶端 (例如,透過方法呼叫的傳回值),則 COM 用戶端仍可存取該型別。

此規則會忽略自 Delegate 衍生的型別。

根據預設,COM 可以看見下列各項:組件、公用型別、公用型別中的公用執行個體 (Instance) 成員,和公用實值型別的所有成員。

如何修正違規

若要修正此規則的違規情形,請新增公用預設建構函式 (Constructor),或移除型別的 ComVisibleAttribute

隱藏警告的時機

如果有建立及傳遞物件至 COM 用戶端的其他方式,則您可以放心地隱藏這項規則的警告。

相關規則

CA1017:以 ComVisibleAttribute 標記組件

請參閱

概念

限定互通的 .NET 類型

其他資源

與 Unmanaged 程式碼互通