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