Есть ли способ сделать то, что classmethod
делает в Python в C#?Стиль-стиль в стиле Python для C#?
То есть статическая функция, которая будет получать объект Type как (неявный) параметр в зависимости от того, какой из подкласса он использует.
Пример того, что я хочу, приблизительно,
class Base:
@classmethod
def get(cls, id):
print "Would instantiate a new %r with ID %d."%(cls, id)
class Puppy(Base):
pass
class Kitten(Base):
pass
p = Puppy.get(1)
k = Kitten.get(1)
ожидаемый выход будучи
Would instantiate a new <class __main__.Puppy at 0x403533ec> with ID 1.
Would instantiate a new <class __main__.Kitten at 0x4035341c> with ID 1.