Итак, ситуация в том, что у меня есть общий класс C# с именем Foo
с параметром шаблона T
, который имеет ограничение new()
. Я объявил мои занятия что-то вроде этого:C# Generics с параметрами типа IronPython
class Baz
{
public Baz() { }
}
class Foo<T>
where T : Baz, new()
{
// blah blah
}
И в Python:
class Bar(Baz):
def __init__(self):
""" do various things here """
Однако, если в Python, я пытаюсь сделать Foo[Bar]
, я получаю сообщение об ошибке говорит мне, что мой Bar
класс нарушает ограничения (а именно ограничение new()
) на Foo<T>
.
Что дает?
Ах да, я подумал, что когда я понял, что шаблоны фактически отбрасывают всю информацию типа Python. Спасибо, что подтвердили это. – rfw
Может ли кто-нибудь разработать или мириться с этим примером? Мои знания о внутренней работе python просто не помогают мне перескакивать, что это должно выглядеть в коде. – Gauthier
Я просто попробовал несколько вещей и нашел функцию C# somefunc (string x) {dostuff(); } должно называться somefunc [sometype] ("some string") –
Gauthier