typescript - Säkerställ att typen T av ett gränssnitt är den klass som det implementeras på


Jag har ett generiskt gränssnitt som ser ut ungefär så här:

interface IDo<T> {
  DoIt: Partial<T>;
}

I mitt fall är T alltid den klass som gränssnittet implementeras på. Kan jag på något sätt säkerställa att T är exakt och endast den klass som det implementeras på?

Användningsfallet är som följer:

class Worker implements IDo<Worker> {
  DoIt(): Partial<Worker> {
    ...
  }
}