Quando os genéricos são aplicados apropriadamente, eles removem o código, em vez de apenas rearranjá-lo. Primeiramente, o código que os genéricos são melhor em remover é typecasts, reflexão e digitação dinâmica. Portanto, o abuso de genéricos pode ser vagamente definido como a criação de código genérico sem redução significativa na tipografia, reflexão ou digitação dinâmica em comparação com uma implementação não genérica.
Em relação ao seu exemplo, eu esperaria um uso adequado de genéricos para alterar o object[]
para um T[]
ou similar e evitar Type
ou type
. Isso pode exigir uma refatoração significativa em outro lugar, mas se você usar genéricos nesse caso, ele deverá ficar mais simples quando estiver pronto.