Я хочу, чтобы иметь возможность динамически создавать новый класс, который имеет все методы другого класса. В частности, я хочу сделать свой собственный прокси-сервер. класс ApiProxy extends haxe.remoting.Proxy {} Новый класс ApiProxy имел бы все те же имена и подписи метода, что и Api, и будет проверяться временем компиляции. Только каждый вызов выполняется через провод, а не обрабатывается локально.Динамически создавать класс, который издевается над другим классом (например, remotingProxy) в haxe
Я думаю, что remoting.Proxy - это волшебный внутренний класс - это правда? У обычных пользователей есть возможность определить класс, который так же статичен, как это? Я никогда не видел этого в Java, и я впечатлен его возможностями в Haxe.
Как бы реализовать свой собственный класс, как remoting.Proxy?
Я попытался создать родительский класс с пустыми методами реализации (а не с интерфейсом), а затем на клиенте, я попытался создать экземпляр экземпляра родителя и пропустить все методы, пытаясь заменить их вызовами по сети, но Я не мог заменить методы новыми, даже если я объявил методы динамическими. Это можно было бы легко сделать, если бы я мог просто динамически менять методы. Вы знаете, как это сделать? – MatternPatching
Объявление динамических методов должно работать. Можете ли вы показать код? –
Да, если вы просто переписываете динамические поля, это должно работать нормально. Вы можете рассмотреть возможность переопределения нескольких методов для экземпляра, а не всего экземпляра в этом случае. Reflect.fields, а методы Type иногда возвращают скрытые (секретные) поля, которые вы, возможно, не захотите прокси. У меня есть класс/метод утилиты под названием «Клей», который позволяет сочетать функции безопасным способом: http://scwn.net/2009/10/09/function-decoration-in-haxe-glue/ – jdonaldson