views:

53

answers:

1

I have the following C# code to compile it into MyMath.dll assembly.

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

And I have the following IronPython code to use this object.

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

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

When I run this code with IronPython, I get the following error.

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

What might be wrong?

ADDED

arith = Arith() should have been arith = MyMath.Arith()

+4  A: 

You should be doing the following:

from MyMath import Arith

Or:

from MyMath import *

Otherwise, you'll have to refer to the Arith class as MyMath.Arith.

Rafe Kettler