Comparing types when using reflection - C#