Вызов объекта C # из IronPython

У меня есть следующий код C # для компиляции в сборку MyMath.dll.

namespace MyMath {
    public class Arith {
        public Arith() {}
        public int Add(int x, int y) {
            return x + y;
        }
    }
}

И у меня есть следующий код IronPython для использования этого объекта.

import clr
clr.AddReferenceToFile("MyMath.dll")

import MyMath
arith = Arith()
print arith.Add(10,20)

Когда я запускаю этот код с помощью IronPython, я получаю следующую ошибку.

Traceback (most recent call last):
  File ipycallcs, line unknown, in Initialize
NameError: name 'Arith' is not defined

Что может быть не так?

ДОБАВЛЕН

arith = Arith () должно было быть arith = MyMath.Arith ()


person prosseek    schedule 10.10.2010    source источник
comment
Разве это не должно быть arith = MyMath.Arith ()?   -  person Mark    schedule 11.10.2010
comment
@Mark: Да, это была проблема, спасибо.   -  person prosseek    schedule 11.10.2010
comment
для исправления распространенных ошибок в IronPython попробуйте этот Beginning IronPython   -  person fireydude    schedule 12.06.2013


Ответы (1)


Вам следует сделать следующее:

from MyMath import Arith

Or:

from MyMath import *

В противном случае вам придется называть класс Arith MyMath.Arith.

person Rafe Kettler    schedule 10.10.2010