So, given the following code
type MyClass () = let items = Dictionary<string,int>() do items.Add ("one",1) items.Add ("two",2) items.Add ("three",3) member this.TryGetValue (key,value) = items.TrygetValue (key,value) let c = MyClass () let d = Dictionary<string,int> () d.Add ("one",1) d.Add ("two",2) d.Add ("three",3)
And the following test code
let r1,v1 = d.TryGetValue "one" let r2,v2 = c.TryGetValue "one"
Line r1, v1 works fine. Linear bombs r2, v2; complaining that c.TryGetValue must have a tuple. Interestingly, on each line, the TryGetValue signature is different. How can I make my custom implementation exhibit the same behavior as the BCL version? Or, I asked for another way, since F # (implicitly) implies the concept of tuple parameters, parameters in curry and BCL parameters, and I know how to distinguish between curry and tuple style, how can I force the third style (a la BCL methods)?
Let me know if this is unclear.
pblasucci
source share