Moar Generalization C#