2003-02-12 01:58:24 +00:00
<Type Name= "List" FullName= "GLib.List" >
2003-03-09 07:58:52 +00:00
<TypeSignature Language= "C#" Value= "public class List : GLib.ListBase, IDisposable, ICollection, IEnumerable, IWrapper, ICloneable" Maintainer= "miguel" />
2003-02-12 01:58:24 +00:00
<AssemblyInfo >
<AssemblyName > glib-sharp</AssemblyName>
2003-12-24 01:35:30 +00:00
<AssemblyPublicKey >
</AssemblyPublicKey>
2003-02-12 01:58:24 +00:00
<AssemblyVersion > 0.0.0.0</AssemblyVersion>
2003-10-28 00:48:23 +00:00
<AssemblyCulture > neutral</AssemblyCulture>
2003-02-12 01:58:24 +00:00
<Attributes />
</AssemblyInfo>
2003-02-23 07:26:30 +00:00
<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>
2003-02-12 01:58:24 +00:00
<Docs >
2003-08-30 02:35:39 +00:00
<summary > A list class used by Gtk</summary>
2003-03-09 07:58:52 +00:00
<remarks >
<para >
2003-08-30 02:35:39 +00:00
<see cref= "T:GLib.List" /> is managed wrapper for the underlying C list
2003-03-09 07:58:52 +00:00
implementation used by Gtk+. Various functions on the Gtk+
API take lists or return lists in this form.
</para>
<para >
2003-08-30 02:35:39 +00:00
The list deals with <see cref= "T:System.IntPtr" /> objects, these are pointers into
2003-03-09 07:58:52 +00:00
unmanaged resources.
</para>
<example >
2003-03-15 22:45:31 +00:00
<para >
2003-03-09 07:58:52 +00:00
For example to create a list of widgets, you would use the
following sample:
</para>
2003-03-15 22:45:31 +00:00
<code lang= "c#" >
2003-03-09 07:58:52 +00:00
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>
2003-03-15 22:45:31 +00:00
<para >
2003-08-30 02:35:39 +00:00
The <see cref= "T:System.Type" /> argument to the <see cref= "T:GLib.List" />
2003-03-09 07:58:52 +00:00
constructor, allows the list enumerator code to return
properly wrapped or demarshalled objects from the unmanaged
world into the managed world.
</para>
</example>
</remarks>
2003-02-12 01:58:24 +00:00
</Docs>
<Base >
<BaseTypeName > GLib.ListBase</BaseTypeName>
</Base>
<Interfaces >
<Interface >
<InterfaceName > System.IDisposable</InterfaceName>
</Interface>
<Interface >
<InterfaceName > System.Collections.ICollection</InterfaceName>
</Interface>
<Interface >
<InterfaceName > System.Collections.IEnumerable</InterfaceName>
</Interface>
<Interface >
<InterfaceName > GLib.IWrapper</InterfaceName>
</Interface>
<Interface >
<InterfaceName > System.ICloneable</InterfaceName>
</Interface>
</Interfaces>
<Attributes />
<Members >
<Member MemberName= ".ctor" >
<MemberSignature Language= "C#" Value= "public List (IntPtr raw);" />
<MemberType > Constructor</MemberType>
<ReturnValue />
<Parameters >
2003-08-30 02:35:39 +00:00
<Parameter Name= "raw" Type= "System.IntPtr" />
</Parameters>
2003-02-12 01:58:24 +00:00
<Docs >
2003-03-09 07:58:52 +00:00
<summary > Constructs a List</summary>
2003-08-30 02:35:39 +00:00
<param name= "raw" > A handle to a <see cref= "T:GLib.List" /> .</param>
2003-03-09 07:58:52 +00:00
<returns > A new insteace instance of List, wrapping the C list.</returns>
2003-02-23 07:26:30 +00:00
<remarks >
2003-03-09 07:58:52 +00:00
<para >
2003-08-30 02:35:39 +00:00
<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
2003-03-09 07:58:52 +00:00
"(IntPtr) 0" as an initial value.
</para>
2003-03-15 22:45:31 +00:00
<para >
2003-03-09 07:58:52 +00:00
Using this constructor will not track the type information
of the classes or structures kept in the list. If you
2003-03-15 22:45:31 +00:00
plan on tracking the type information, use the <see cref= "M:GLib.List.List(IntPtr,Type)" /> method.
2003-03-09 07:58:52 +00:00
</para>
2003-02-23 07:26:30 +00:00
</remarks>
2003-02-12 01:58:24 +00:00
</Docs>
</Member>
<Member MemberName= ".ctor" >
<MemberSignature Language= "C#" Value= "public List (IntPtr raw, Type element_type);" />
<MemberType > Constructor</MemberType>
<ReturnValue />
<Parameters >
2003-08-30 02:35:39 +00:00
<Parameter Name= "raw" Type= "System.IntPtr" />
<Parameter Name= "element_type" Type= "System.Type" />
</Parameters>
2003-02-12 01:58:24 +00:00
<Docs >
2003-02-23 07:26:30 +00:00
<summary > Internal constructor</summary>
2003-03-09 07:58:52 +00:00
<param name= "raw" > A handle to a GLib.list</param>
<returns > A new instance of List, wrapping the C list.</returns>
2003-02-23 07:26:30 +00:00
<remarks >
2003-03-09 07:58:52 +00:00
<para >
2003-08-30 02:35:39 +00:00
<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
2003-03-09 07:58:52 +00:00
"(IntPtr) 0" as an initial value.
</para>
2003-03-15 22:45:31 +00:00
<para >
2003-03-09 07:58:52 +00:00
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>
2003-02-23 07:26:30 +00:00
</remarks>
2003-02-12 01:58:24 +00:00
</Docs>
</Member>
2003-10-28 00:48:23 +00:00
<Member MemberName= "Clone" >
<MemberSignature Language= "C#" Value= "public override object Clone ();" />
<MemberType > Method</MemberType>
<ReturnValue >
<ReturnType > System.Object</ReturnType>
</ReturnValue>
<Parameters />
<Docs >
<summary > Duplicates the list, shallow copy.</summary>
<returns > The duplicated list.</returns>
<remarks > Makes a new copy of the list. The individual elements on
- the list are not duplicated.</remarks>
</Docs>
</Member>
2003-02-12 01:58:24 +00:00
</Members>
2003-08-30 02:35:39 +00:00
</Type>