Я мигрирую CenterSnap.cls из его версии vb в vb.NET, и я запутался в следующих двух ошибках после импорта проекта vb6 в VS 2008.
Err 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» должен реализовывать «Идентификатор свойства ReadOnly в качестве UID» для интерфейса «ESRI.ArcGIS.esriSystem.IPersistVariant». Реализующее свойство должно иметь соответствующие спецификаторы ReadOnly или WriteOnly. C: \ Projects \ VB_ActiveX_dll \ StackMap \ StackMap \ CenterSnap.vb 9 16 StackMap
Err 2
Private ReadOnly Property IPersistVariant_ID() As ESRI.ArcGIS.esriSystem.IUID _
Implements ESRI.ArcGIS.esriSystem.IPersistVariant.ID '<<<< ERROR 2
Ошибка 2 «IPersistVariant_ID» не может реализовать «ИД», поскольку в интерфейсе «ESRI.ArcGIS.esriSystem.IPersistVariant» отсутствует соответствующее свойство. 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 в проекте.