Как бы вы специализировались на С#?
Я поставил бы проблему. У вас есть тип шаблона, вы понятия не имеете, что это такое. Но вы знаете, получен ли он из XYZ вы хотите вызвать .alternativeFunc(). Отличный способ, чтобы вызвать специальную функцию или класс и имеют normalCall вернуть .normalFunc() в то время как у другой специализации на любом производном типе XYZ для вызова .alternativeFunc(). Как это сделать в С#?