Is it possible to get a generic delegate through DI and have the delegate infer its type from usage? - C#