public class Program
{
public static void Main()
}
//What I want:
//public class Thing : AThing
//{
// public override void DoThing<Dep>(Dep myDep)
// {}
//}
public class Thing : AThing
public override void DoThing<T>(T myDep)
{}
public abstract class AThing
public abstract void DoThing<T>(T myDep) where T : IDep;
public class Dep : IDep
{ }
public interface IDep