﻿<?xml version="1.0" encoding="utf-8"?><Type Name="List" FullName="GLib.List"><TypeSignature Language="C#" Maintainer="miguel" Value="public class List : GLib.ListBase" /><TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit List extends GLib.ListBase" /><AssemblyInfo><AssemblyName>glib-sharp</AssemblyName><AssemblyPublicKey></AssemblyPublicKey></AssemblyInfo><ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement><Base><BaseTypeName>GLib.ListBase</BaseTypeName></Base><Interfaces></Interfaces><Docs><summary>A list class used by Gtk</summary><remarks><para><see cref="T:GLib.List" /> is managed wrapper for the underlying C list
	implementation used by Gtk+.  Various functions on the Gtk+
	API take lists or return lists in this form.
      </para><para>
	The list deals with <see cref="T:System.IntPtr" /> objects, these are pointers into
	unmanaged resources.
      </para><example><para>
	  For example to create a list of widgets, you would use the
	  following sample:
	</para><code lang="c#">
	  GLib.List MakeList (Gtk.Widget a, Gtk.Widget b)
	  {
	  	GLib.List l = new GLib.List ((IntPtr) 0, typeof (Gtk.Widget));
		l.Append (a.Handle);
		l.Append (b.Handle);
	  }
	</code><para>
	  The <see cref="T:System.Type" /> argument to the <see cref="T:GLib.List" />
	  constructor, allows the list enumerator code to return
	  properly wrapped or demarshalled objects from the unmanaged
	  world into the managed world.
	</para></example></remarks></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public List (IntPtr raw);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" /><MemberType>Constructor</MemberType><ReturnValue /><Parameters><Parameter Name="raw" Type="System.IntPtr" /></Parameters><Docs><param name="raw">A handle to a <see cref="T:GLib.List" />.</param><summary>Constructs a List</summary><remarks><para><see cref="T:GLib.List" /> objects are constructed by passing an unmanaged
	    reference to an existing <see cref="T:GLib.List" />, or they can use
	    "(IntPtr) 0" as an initial value. 
	  </para><para>
	    Using this constructor will not track the type information
	    of the classes or structures kept in the list.  If you
	    plan on tracking the type information, use the <see cref="M:GLib.List.List(IntPtr,Type)" /> method.
	  </para></remarks></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public List (Type element_type);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Type element_type) cil managed" /><MemberType>Constructor</MemberType><ReturnValue /><Parameters><Parameter Name="element_type" Type="System.Type" /></Parameters><Docs><param name="element_type">a <see cref="T:System.Type" /></param><summary>Constructs a list of objects of a given type.</summary><remarks><example><code lang="C#">
	Gtk.Widget a = new Gtk.Widget((IntPtr) 0);
		Gtk.Widget b = new Gtk.Widget((IntPtr) 0);
		
		GLib.List l = new GLib.List (typeof (Gtk.Widget));
        l.Append (a.Handle);
        l.Append (b.Handle);
  </code></example></remarks></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public List (IntPtr raw, Type element_type);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw, class System.Type element_type) cil managed" /><MemberType>Constructor</MemberType><ReturnValue /><Parameters><Parameter Name="raw" Type="System.IntPtr" /><Parameter Name="element_type" Type="System.Type" /></Parameters><Docs><param name="raw">A handle to a GLib.list</param><param name="element_type">To be added.</param><summary>Internal constructor</summary><remarks><para><see cref="T:GLib.List" /> objects are constructed by passing an unmanaged
	    reference to an existing <see cref="T:GLib.List" />, or they can use
	    "(IntPtr) 0" as an initial value. 
	  </para><para>
	    Using this constructor will track the type information
	    of the classes or structures kept in the list.  This
	    information is used by the List enumerator when returning
	    data. 
	  </para></remarks></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public List (Array elements, Type element_type, bool owned, bool elements_owned);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Array elements, class System.Type element_type, bool owned, bool elements_owned) cil managed" /><MemberType>Constructor</MemberType><Parameters><Parameter Name="elements" Type="System.Array" /><Parameter Name="element_type" Type="System.Type" /><Parameter Name="owned" Type="System.Boolean" /><Parameter Name="elements_owned" Type="System.Boolean" /></Parameters><Docs><param name="elements">Array on elements to build the list.</param><param name="element_type">The Type of the elements.</param><param name="owned">Indicates if the list reference must be released on finalization.</param><param name="elements_owned">Indicates if the list members must be released on finalization.</param><summary>Public constructor.</summary><remarks>Constructs a native GList containing a set of member objects.</remarks></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public List (IntPtr raw, Type element_type, bool owned, bool elements_owned);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw, class System.Type element_type, bool owned, bool elements_owned) cil managed" /><MemberType>Constructor</MemberType><Parameters><Parameter Name="raw" Type="System.IntPtr" /><Parameter Name="element_type" Type="System.Type" /><Parameter Name="owned" Type="System.Boolean" /><Parameter Name="elements_owned" Type="System.Boolean" /></Parameters><Docs><param name="raw">Pointer to the native list.</param><param name="element_type">The type of the elements contained in the list.</param><param name="owned"><see langword="true" /> if the native list needs to be released on Dispose.</param><param name="elements_owned"><see langword="true" /> if the list elements need to be released on Dispose.</param><summary>Creates a List.</summary><remarks>This type is only recommended for marshaling GList parameters and return values in bindings.</remarks></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public List (object[] elements, Type element_type, bool owned, bool elements_owned);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(object[] elements, class System.Type element_type, bool owned, bool elements_owned) cil managed" /><MemberType>Constructor</MemberType><Parameters><Parameter Name="elements" Type="System.Object[]" /><Parameter Name="element_type" Type="System.Type" /><Parameter Name="owned" Type="System.Boolean" /><Parameter Name="elements_owned" Type="System.Boolean" /></Parameters><Docs><param name="elements">An array of list member objects.</param><param name="element_type">The type of the members.</param><param name="owned">Indicates if the list reference must be released on finalization.</param><param name="elements_owned">Indicates if the list members must be released on finalization.</param><summary>Public constructor.</summary><remarks>Constructs a native GList containing a set of member objects.</remarks></Docs></Member><Member MemberName="Clone"><MemberSignature Language="C#" Value="public override object Clone ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance object Clone() cil managed" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Object</ReturnType></ReturnValue><Parameters /><Docs><summary>Clones a list.</summary><returns>a new native list.</returns><remarks /><since version="Gtk# 2.4" /></Docs></Member></Members></Type>