C'è un modo per fare ciò che fa classmethod
in Python in C#?classmethod in stile Python per C#?
Cioè, una funzione statica che otterrebbe un oggetto Type come parametro (implicito) in base a qualsiasi sottoclasse da cui è stato utilizzato.
Un esempio di quello che voglio, approssimativamente, è
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)
i risultati attesi essendo
Would instantiate a new <class __main__.Puppy at 0x403533ec> with ID 1.
Would instantiate a new <class __main__.Kitten at 0x4035341c> with ID 1.