Скажем, у меня есть универсальный метод с несколькими типами ограничений, это:
public static void DoSomethingAwesome<T>(T thing)
where T : IThing, IAwesome, IComparable<T>
{
...
}
Теперь .... как я могу, используя отражение, создать что-то, что я могу отправить туда?
Если бы это было только одно ограничение, я знаю, что смогу сделать это так:
var types = assembly
.GetTypes()
.Where(typeof (IThing).IsAssignableFrom)
foreach(var t in types)
DoSomethingAwesome((IThing) Activator.CreateInstance(t));
Но не могу ли я привести к нескольким интерфейсам ... как же я могу решить это? Вы могли бы сказать, что я в значительной степени потерян здесь сейчас: P
Название получилось довольно длинным и сложным, так как я не знал, как это назвать, пожалуйста, улучшите, если можете