明示的に3つのGUID定数を作成し、クラスのComClass属性で使用するいくつかのVB.NETコードを実行しました。私は、プロジェクトオプションの "Make COM-Visible"と "COM interopのための登録"オプションをチェックするだけで、COM対応のクラスを過去に書いたことがあります。この明示的なコードは単に不要ですか、それとも、これらの2つのオプションが何を超えているのでしょうか?明示的にあなたが露出しているから露出してはならないヘルパークラス、内部ツール、または内部クラスのようなものを防ぐことができ暴露するクラスと列挙の属性を置くことによってVB.NETは自動的にComClass属性とGUIDを生成しますか?
<ComClass(MenuHandler.ClassId, MenuHandler.InterfaceId, MenuHandler.EventsId)> _
Public Class MenuHandler
Public Const ClassId As String = "A2204623-A902-44d4-B524-FDFFCD176E53"
Public Const InterfaceId As String = "3449CA8B-16DF-4a61-8BAB-DFF27AE70F5E"
Public Const EventsId As String = "06C156DD-0ABA-437e-9EE0-C1CE2CA34033"
End Class