Get the implemented type from a Generic Base Class <p>I may of worded the title completely wrong, but basically, I have the following base class:</p> <pre><code>public class ScheduleableService&lt;T&gt; : ServiceBase where T : IJob { var x = typeof(T); } </code></pre> <p>The implementation of this is something like:</p> <pre><code>public class MyScheduledService: ScheduleableService&lt;MyScheduledJob&gt; { //MyScheduledJob implements IJob } </code></pre> <p>Basically, what I need, is in my base class ScheduleableService, to be able to get hold of the MyScheduledService type- Is there any way I can do this without passing it in.</p> <p>The following works, however is ugly.....</p> <pre><code>public class ScheduleableService&lt;T, S&gt; : ServiceBase where T : IJob where S : ServiceBase { var x = typeof(T); var y = typeof(S); } </code></pre> <p>implementation:</p> <pre><code>public class MyScheduledService: ScheduleableService&lt;MyScheduledJob, MyScheduledService&gt; { //MyScheduledJob implements IJob } </code></pre>