ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я не помню, как кодировать. Прошло много времени". Это может быть полностью отключено.
Ну, во-первых, если участники защищены, оригинальный дизайнер не собирался напрямую обращаться к ним. Вы проверяли методы доступа?
Если их нет, и вы убеждены, что вам действительно нужны эти защищенные члены, вы можете расширить тип с помощью аксессоров, разыграть и получить их таким образом. Как (в C ++ - как код)
class MyClass : public OldClass
{
public:
int getSomeValue() { return protectedValue; }
void setSomeValue(int value) { protectedValue=value; }
char* getOtherValue() { return otherProtectedValue; }
}
и затем использовать его
MyClass* blah = (MyClass*)TheirFactory->GiveMeAClass();
int yay=blah->getSomeValue();
Вы получаете дрейф. Надеюсь, что это работает для вас, Internet Explorer делает паршивый компилятор, поэтому я не смог его протестировать.
}