Проблема наследования IronPython - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь создать свой собственный потоковый класс на основе io.BytesIO и запустить его через IronPython (2.7.9).Но я получаю сообщение об ошибке: «MyStream () принимает не более 2 аргументов (4 дано)» *

Такая ошибка появляется, только если я запускаю скрипт через IronPython (ipy.exe или с помощью C #).Но с интерпретатором python27 все в порядке.Похоже, у ipy есть некоторые проблемы с импортом модулей и публичными конструкторами.Я могу наследовать от BufferedIOBase - базовый класс io.BytesIO.И я могу inhreit из любого класса в моем модуле.

import io
class MyStream(io.BytesIO):
    def __init__(self, val1, val2, val3):
        print('MyStream.__init__')
def test():
    testOle = MyStream('val1', 'val2', 'val3')
test()

Это полный сценарий.Если запустить его через Python27 - вывод «MyStream. init » - как и ожидалось.Но если запустить его через ipy.exe - 'TypeError: MyStream () принимает не более 2 аргументов (4 дано)'

...