Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- open System
- [<AbstractClass>]
- type B() =
- abstract member dString: unit -> string
- type T1() =
- inherit B()
- override this.dString() = "T1"
- type T2() =
- inherit B()
- override this.dString() = "T2"
- type PrinterG = | F of B
- | G of B with
- member self.GenericMethod() =
- match self with
- | F a ->
- printf "GENERIC %A" (a.dString())
- | G a ->
- printf "GENERIC %A" (a.dString())
- [F(T1()); F(T2()); G(T1()); G(T2())]
- |> List.iter (fun (f:PrinterG) -> f.GenericMethod())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement