Переопределить класс или функцию - PullRequest
0 голосов
/ 27 июня 2019

Мне нужно добавить интерфейс VBScript в наше приложение C # и дополнить его ScriptControlClass (MS Scripting Engine). Тем не менее, я не слишком знаком с VBS и не могу найти решение этой проблемы:

Если я определяю класс, то решаю внести изменения в этот класс, когда я запускаю код для класса во второй раз, я получаю ошибку:

Имя переопределено

Пример:

  1. Определить Class (например: Class test .... End Class)
  2. «Компилировать» (из кода C #, звонить ScriptControlClass.AddCode(code_for_class))
  3. Внести изменения в код класса
  4. Снова скомпилируйте - получите ошибку здесь

Как мне "отменить определение" класса перед попыткой компиляции?

Кроме того, я не спрашиваю о том, как Dim или Redim объект этого класса. Я хочу изменить код класса.

1 Ответ

1 голос
/ 27 июня 2019

Код скрипта не «компилируется», он выполняется при вызове AddCode()

Весь код, который вы добавляете, известен в scriptcontrol до тех пор, пока вы не выполните Reset(). Сброс заставляет scriptcontrol удалить весь код, который был добавлен.

Итак, сначала вам нужно будет Reset(), прежде чем снова добавить код для того же класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...