c# switch when type