Метод перехвата доступа на хост-программе IronPython - PullRequest
2 голосов
/ 19 января 2009

Привет,

Большая часть информации, которую я вижу вокруг относительно создания Прокси для объектов, предполагает, что где-то существует Тип, который определяет членов, которые будут прокси. Моя проблема: у меня не может быть такого типа.

Чтобы упростить задачу, у меня есть словарь, который отображает строки в объекты. У меня также есть геттеры и сеттеры для работы с этим словарем.

Моя цель - обеспечить прозрачный доступ внутри IronPython к этим геттерам и сеттерам, как если бы они были реальными свойствами класса. Например, следующий код в скрипте Python:

x.result = x.input * x.percentage;

... на самом деле будет представлять что-то вроде на языке хоста:

x.SetProperty("result", x.GetProperty("input") * x.GetProperty("percentage"));

Кроме того, 'x' здесь задается программой хоста. Есть идеи? Пожалуйста, помните, что я не могу позволить себе создание типизированной заглушки ... В идеале, я был бы рад, если бы каким-либо образом мог перехватывать каждый вызов атрибута / метода определенного объекта на языке сценариев в ведущей программе.

1 Ответ

1 голос
/ 20 января 2009

Это сообщение может быть полезно.

...