Generic methods with constraints that are generic

c#, generic-method, generics

Solution

You have to use a second constraint:

void DoMethod<TEvent, TArgs>() where TEvent : IEvent<TArgs> where TArgs : EventArgs {}

Problem

What I want to do is have a method that takes a generic type as a parameter with a constraint. However, the constraint's type also has a second generic type, but I want the method to work regardless of what the second typing is: ``` public class IEvent<T> where T : EventArgs { } public class EventManager { public void DoMethod<T>() where T: IEvent<???> { } } ``` Specifically, I'm trying to have my `EventManager` class receive any kind of event and then do something with it. Am I overcomplicating things, or is this doable?

Original source