I have pythonnet v 2.3.0 installed. I have a C# class library which I use in Python. I have a Point class (a code snippet):
public Point(double x, double y)
{
this.x = x;
this.y = y;
}
public override string ToString()
{
return $"Point({x}, {y})";
}
When I work with this class library in Python (in Python shell):
>>> p1 = Point(10,15)
>>> p1
<Geometry.Point object at 0x000000000558F828>
>>> str(p1)
'Point(10, 15)'
Because I override the ToString(), when I run str(p1) I see my custom view of the object. However, when I just access a variable p1, then it goes to the __repr__() method under the hood which gives me ugly <Geometry.Point object at 0x000000000558F828>.
Is there a method in C# class that is possible to override so that pythonnet would use that method when getting the __repr__?