Как реализовать __repr__ для класса C# для использования в python.net?
Я имею pythonnet
v 2.3.0 установлен. У меня есть библиотека классов C#, которую я использую в Python. у меня есть Point
класс (фрагмент кода):
public Point(double x, double y)
{
this.x = x;
this.y = y;
}
public override string ToString()
{
return $"Point({x}, {y})";
}
Когда я работаю с этой библиотекой классов в Python (в оболочке Python):
>>> p1 = Point(10,15)
>>> p1
<Geometry.Point object at 0x000000000558F828>
>>> str(p1)
'Point(10, 15)'
Потому что я переопределяю ToString()
когда я бегу str(p1)
Я вижу свой собственный вид объекта. Тем не менее, когда я просто получить доступ к переменной p1
, то это идет к __repr__()
метод под капотом, который делает меня уродливым <Geometry.Point object at 0x000000000558F828>
,
Есть ли в классе C# метод, который можно переопределить, чтобы pythonnet
будет использовать этот метод при получении __repr__
?