Перегрузка магических методов с помощью IronPython - PullRequest
1 голос
/ 07 октября 2010

Я пытаюсь определить оператор мощности ** в классе C # (назовем его классом Foo). Я переопределил __pow__(), что дает мне желаемое поведение для операций типа Foo ** int. К сожалению, мне нужно также определить int ** Foo, и ни использование динамических значений, ни перегрузка __pow__() не дают мне желаемого поведения; Я всегда получаю ошибку unsupported operand type(s) for **: 'int' and 'Foo'. Я успешно переопределил C # -распознанные операторы, используя ключевое слово operator; Foo / int и int / Foo успешно работают. Есть ли способ сделать это с __pow__()? Заранее спасибо.

...