Я смотрю примеры переопределения TryInvokeMember
на DynamicObject
для реализации динамического связывания метода. Подпись выглядит следующим образом
public virtual bool TryInvokeMember(
InvokeMemberBinder binder,
Object[] args,
out Object result
)
Очевидно, result
используется для передачи результата обратно вызывающей стороне.
Поскольку для TryInvokeMember
без параметра result
out перегрузки нет, я предполагаю, что этот метод должен также обрабатывать методы void. В этом случае существуют ли какие-либо рекомендации для того, что result
должно быть установлено?
Реализация по умолчанию на DynamicObject
устанавливает result
на ноль, и это будет моим выбором по умолчанию, но я не смог найти упоминаний об этом в примерах. Есть ли какие-либо руководящие принципы для этого? Имеет ли значение, какой будет результат?