次の方法で共有


参照型を COM から作成できるようにします

更新 : 2007 年 11 月

TypeName

ComVisibleTypesShouldBeCreatable

CheckId

CA1409

カテゴリ

Microsoft.Interoperability

互換性に影響する変更点

なし

原因

COM から参照できると明確にマークされている参照型に、パブリックのパラメータ付きコンストラクタが含まれますが、パブリックの既定 (パラメータなし) コンストラクタが含まれません。

規則の説明

パブリックの既定コンストラクタがない型は、COM クライアントで作成できません。ただし、別の手段で型を作成してクライアントに渡すことができる場合 (たとえば、メソッド呼び出しの戻り値を使用するなど)、COM クライアントからその型にアクセスできます。

この規則では、System.Delegate からの派生型は無視されます。

COM から参照できるのは、既定で、アセンブリ、パブリック型、パブリック型のパブリック インスタンス メンバ、およびパブリック値型のすべてのメンバです。

違反の修正方法

この規則違反を修正するには、パブリックの既定コンストラクタを追加するか、型から System.Runtime.InteropServices.ComVisibleAttribute を削除します。

警告を抑制する状況

オブジェクトを作成して COM クライアントに渡すための別の方法がある場合は、この規則による警告を抑制しても安全です。

関連規則

アセンブリを ComVisibleAttribute でマークします

参照

概念

相互運用のための .NET 型の要件

その他の技術情報

アンマネージ コードとの相互運用