Реализация метода подкачки во время выполнения в .NET? - PullRequest
0 голосов
/ 14 июля 2009

Как я могу изменить реализацию метода во время выполнения с return false; на return true;? У меня нет контроля над реализацией методов, так как она поставляется со сторонней библиотекой. Любой обходной путь приветствуется. Опять же: я не контролирую ни сам метод, ни его вызывающих.

Ответы [ 5 ]

2 голосов
/ 14 июля 2009

Попробуйте метод MethodRental.SwapMethodBody.

0 голосов
/ 14 июля 2009

Подкласс и переопределение. Если вы не можете создать подкласс, используйте шаблон Decorator.

0 голосов
/ 14 июля 2009

Пожалуйста, предоставьте больше информации о вашей проблеме. Если вы хотите только переключить логический результат, будет достаточно простого bool result = !MyMethod();;)

0 голосов
/ 14 июля 2009

Вы можете перехватить абонентов этого метода и вернуть true вместо вызова его. Может быть, вы можете опубликовать более подробную информацию.

0 голосов
/ 14 июля 2009

Немного больше информации поможет. Можете ли вы обернуть библиотеку и попросить других вызвать вашу оболочку? Это может быть большой проспект TDD тоже. Есть ли интерфейсы, которые вы можете реализовать самостоятельно? Опять же, DI может позволить вам менять реализации.

...