Указанная запись не может быть сопоставлена ​​с классом управляемого значения

Привет, у вас есть проект vb6 "PROJVB6" с классом "CLASSVB6" с этим содержанием:

...

Public Type ActualParametersType_DOCUMENTI
    Codice As Variant
    Numreg As Variant
End Type
...
Private Gvar_ActualParameters           As ActualParametersType_DOCUMENTI
...
Public Property Let ActualParameters(RHS As ActualParametersType_DOCUMENTI)
    On Error Resume Next

    Gvar_ActualParameters = RHS
End Property
Public Property Get ActualParameters() As ActualParametersType_DOCUMENTI
    On Error Resume Next
    ActualParameters = Gvar_ActualParameters
End Property

У меня есть другой проект C#, который не ссылается на проект vb6, но нуждается в его использовании. Я пробовал с:

var iet = Type.GetTypeFromProgID("PROJVB6.CLASSVB6");
dynamic CalledProgram = Activator.CreateInstance(iet);

И это работает. Но если я попытаюсь получить свойство ActualParameters с этим:

dynamic a = CalledProgram.ActualParameters(); 

я получаю эту ошибку:

Указанная запись не может быть сопоставлена ​​с классом управляемого значения.

Как я могу сделать, чтобы получить доступ к ActualParameter для установленных значений Codice или Numreg без генерации ошибки?

Спасибо

1 ответ

Проблема вActualParametersявляется свойством, а не методом.

Так что это будет правильно:

      // dynamic a = CalledProgram.ActualParameters();
//                                           ^^ wrong
dynamic a = CalledProgram.ActualParameters; 
Другие вопросы по тегам