Listing 6

generic<class T> where T : IDisposable
ref class DisposableType
{
   T t;
public:
   DisposableType(T param) {t=param;}
   void Close()
   {
      t->Dispose();
   }
};