CenterSnap.clsを vb バージョンから vb.NET に移行しています。vb6 プロジェクトを VS 2008 にインポートした後、次の 2 つのエラーについて混乱しています。
エラー 1
Imports System.Runtime.InteropServices
Imports ESRI.ArcGIS.esriSystem
<System.Runtime.InteropServices.ProgId("StackMap.CenterSnap")>
Public Class CenterSnap
Implements ESRI.ArcGIS.Editor.ISnapAgent
Implements ESRI.ArcGIS.esriSystem.IPersistVariant ' <<<<ERROR 1
エラー 1 クラス 'CenterSnap' は、インターフェース 'ESRI.ArcGIS.esriSystem.IPersistVariant' の 'ReadOnly Property ID As UID' を実装する必要があります。実装するプロパティには、一致する 'ReadOnly' または 'WriteOnly' 指定子が必要です。C:\Projects\VB_ActiveX_dll\StackMap\StackMap\CenterSnap.vb 9 16 StackMap
エラー 2
Private ReadOnly Property IPersistVariant_ID() As ESRI.ArcGIS.esriSystem.IUID _
Implements ESRI.ArcGIS.esriSystem.IPersistVariant.ID '<<<< ERROR 2
エラー 2 インターフェイス「ESRI.ArcGIS.esriSystem.IPersistVariant」に一致するプロパティがないため、「IPersistVariant_ID」は「ID」を実装できません。C:\Projects\VB_ActiveX_dll\StackMap\StackMap\CenterSnap.vb 16 94 StackMap
Get
Dim pID As New ESRI.ArcGIS.esriSystem.UID
pID.Value = "CenterSnap.clsCenterSnap"
IPersistVariant_ID = pID
End Get
なぜImplements ESRI.ArcGIS.esriSystem.IPersistVariant
実装されていないのですか?プロジェクトで参照されている ESRI.esriSystem があります。