IDictionarys Are Very Valuable
I found this bit of joy when I went to override a method in ASP.NET:
protected override int ExecuteUpdate(IDictionary keys, IDictionary values, IDictionary oldValues)
Call me behind the times, but I would have thought... uh... That the keys and values were both held in a dictionary...
Oh well. I suppose this means something sensible, but I'll be damned if I know what it is at first glance.
Not much of a WTF.
Keys is just a dictionary for filtering (when not databound - otherwise meaning changes). That means you can change values where keys [a=1; b=2] - multicolumn WHERE clause.
Values updates columns with names from values.Keys with values from values.Values.
Though I still have no idea what oldValues does... It's not documented and I don't really see what would happen when more than one row is updated...
Example from MSDN for this method is "the real WTF":
Yup... that surely helped :D
I did figure out the meaning soon after and, as you saw, MSDN was not much help. However, the MSDN example is part of a larger example which only implements Select. So, they carved it up, exceptions and all, into the individual examples...
I'm in the middle of a project to write a "generalized" solution for managing table data with no special fields. Beware of assignments to "generalize" something, as managers will not allocate enough time to complete them, no matter what.