Абсолютно - все, что пытается объявить значение типа GetObject<string,string>
, не будет компилироваться, например.
Теперь вы, безусловно, можете заменить любое использование из GetObject<TKey,TValue>
на GetObject<KeyValuePair<TKey,TValue>>
(если вы понимаете, о чем я), но вы не можете просто удалить вторую строку.
Вы также должны быть осторожны со случаем, когда это используется отражением. Это может не быть проблемой в вашем случае, но это простой способ, чтобы критическое изменение было видно только во время выполнения, а не было обнаружено компилятором.