Можно ли вызвать защищенный метод с помощью отражения. Я использую это:
Me.GetType.InvokeMember(Stages(CurrentStage),
Reflection.BindingFlags.InvokeMethod,
Nothing,
Me,
Nothing)
Который всегда вызывает метод без параметров или возврата. Идея состоит в том, что пользователь моего объекта (транзакционная обработка бизнес-логики) наследует базовый класс, добавляющий множество закрытых методов для запуска. Затем они добавляют имена этих методов в список в том порядке, в котором они хотели бы, чтобы они запускались, а код выше позаботится об их запуске.
Он отлично работает с открытыми методами, но не с закрытыми или защищенными методами в одном и том же классе (Защищено, потому что у меня есть некоторые «стандартные» предварительно созданные методы для добавления в базовый класс). Реально я мог бы обнародовать методы и покончить с этим, но мой внутренний ботаник не позволил бы мне сделать это ...
Я предполагаю, что это функция безопасности. Есть ли способ обойти это или у кого-нибудь есть какие-либо предложения о том, как действовать дальше, но держите мои вкусные, вкусные модификаторы видимости в такте?
(ПРИМЕЧАНИЕ: ЕГО В VB.NET, но ответ C # - это хорошо, если это то, с чем вам удобно).