Tutorial by Examples

let inline getLength s = (^a: (member Length: _) s) //usage: getLength "Hello World" // or "Hello World" |> getLength // returns 11
// Record type Ribbon = {Length:int} // Class type Line(len:int) = member x.Length = len type IHaveALength = abstract Length:int let inline getLength s = (^a: (member Length: _) s) let ribbon = {Length=1} let line = Line(3) let someLengthImplementer = { new IHaveALength wit...
this will accept any type with a method named GetLength that takes nothing and returns an int: ((^a : (static member GetLength : int) ()))

Page 1 of 1