pragma Extensions_Allowed(On);
with Mssyst.Windows.Forms;
use Mssyst.Windows.Forms;
with Mssyst.Windows.Forms.Form;
with Mssyst.Windows.Forms.Containercontrol;

package Extend_Dotnet_Class is
   type Typ;
   type Ref is access all Typ'Class;
   type Typ(
         I_IContainerControl : MSSyst.Windows.Forms.IContainerControl.Ref;
         I_ISynchronizeInvoke : MSSyst.ComponentModel.ISynchronizeInvoke.Ref;
         I_IWin32Window : MSSyst.Windows.Forms.IWin32Window.Ref;
         I_IComponent : MSSyst.ComponentModel.IComponent.Ref;
         I_IDisposable : MSSyst.IDisposable.Ref) is new MSSyst.Windows.Forms.ContainerControl.Typ(
         I_IContainerControl => I_IContainerControl,
         I_ISynchronizeInvoke => I_ISynchronizeInvoke,
         I_IWin32Window => I_IWin32Window,
         I_IComponent => I_IComponent,
         I_IDisposable => I_IDisposable) with record
      null;
   end record;
   function new_Form(This : Ref := null) return Ref;
   
end Extend_Dotnet_Class;
   