Advertisement
Guest User

Untitled

a guest
Jun 5th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 0.63 KB | None | 0 0
  1. open System
  2.  
  3. type B() =
  4.     member this.dString() = "B"
  5.  
  6. type T1() =
  7.     inherit B()
  8.     member this.dString() = "T1"
  9.  
  10. type T2() =
  11.     inherit B()
  12.     member this.dString() = "T2"
  13.  
  14. type PrinterOne(f:T1) =
  15.     member this.GenericMethod() =
  16.             printf "RESULT %A" (f.dString())
  17.  
  18. type PrinterG = | F of B
  19.                 | G of B with
  20.     member self.GenericMethod() =
  21.         match self with
  22.         | F a ->
  23.             printf "GENERIC %A" (a.dString())
  24.         | G a ->
  25.             printf "GENERIC %A" (a.dString())
  26.  
  27. let d1 = PrinterOne(T1())
  28. d1.GenericMethod()
  29.  
  30. let d2 = F(T2())
  31. d2.GenericMethod()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement