I was doing some type conversion routines last night for a system I am working on. One of the conversions involves turning string values into their DateTime equivalents.
While doing this, I noticed that the Convert.ToDateTime() method had an overload which accepted a boolean parameter.
First question? Under what circumstances could this ever be useful?
I went a little further and tried to execute the method in QuickWatch. Either way ( true or false ), the routine returns an InvalidCastException.
Second question? Why is this method even here?
EDIT
Thanks for the answers, guys. I can see how it makes sense from a contractual point of view, but it does seem odd that the core framework includes methods that:-
- Can never work
- Worse, will actually throw an exception when someone tries to call it.
It's a bit like someone making a car loaded with controls that actively stop your vehicle from working when used.