3 people like it.

IDisposable dispose helper

 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
module Helpers

open System

let dispose(obj : #IDisposable) =
    obj.Dispose()


// example usage

type ADisposable() =
    interface IDisposable with
        member this.Dispose() = ()

type SomeObject() =
    let quit = new ADisposable()

    interface IDisposable with
        member this.Dispose() =
            dispose quit
            //(quit :> IDisposable).Dispose()
module Helpers
namespace System
val dispose : obj:#IDisposable -> unit

Full name: Helpers.dispose
Multiple items
val obj : #IDisposable

--------------------
type obj = Object

Full name: Microsoft.FSharp.Core.obj
type IDisposable =
  member Dispose : unit -> unit

Full name: System.IDisposable
IDisposable.Dispose() : unit
Multiple items
type ADisposable =
  interface IDisposable
  new : unit -> ADisposable

Full name: Helpers.ADisposable

--------------------
new : unit -> ADisposable
val this : ADisposable
override ADisposable.Dispose : unit -> unit

Full name: Helpers.ADisposable.Dispose
Multiple items
type SomeObject =
  interface IDisposable
  new : unit -> SomeObject

Full name: Helpers.SomeObject

--------------------
new : unit -> SomeObject
val quit : ADisposable
val this : SomeObject
override SomeObject.Dispose : unit -> unit

Full name: Helpers.SomeObject.Dispose
Raw view Test code New version

More information

Link:http://fssnip.net/6Y
Posted:14 years ago
Author:
Tags: