<Type Name="Value" FullName="GLib.Value">
  <TypeSignature Language="C#" Maintainer="auto" Value="public struct Value" />
  <AssemblyInfo>
    <AssemblyName>glib-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
    <AssemblyVersion>2.10.0.0</AssemblyVersion>
  </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>
  <Docs>
    <summary>An arbitrary data type similar to a CORBA Any which is used to get and set properties on Objects.</summary>
    <remarks>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>System.ValueType</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.IDisposable</InterfaceName>
    </Interface>
  </Interfaces>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (bool val);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="val" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <summary>Constructs a Value from a specified boolean.</summary>
        <param name="val">an object of type <see cref="T:System.Boolean" /></param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (double val);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="val" Type="System.Double" />
      </Parameters>
      <Docs>
        <summary>Constructs a Value from a specified double.</summary>
        <param name="val">an object of type <see cref="T:System.Double" /></param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (float val);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="val" Type="System.Single" />
      </Parameters>
      <Docs>
        <summary>Constructs a Value from a specified float.</summary>
        <param name="val">an object of type <see cref="T:System.Single" /></param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (int val);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="val" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Constructs a Value from a specified integer.</summary>
        <param name="val">an object of type <see cref="T:System.Int32" /></param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (GLib.Object val);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="val" Type="GLib.Object" />
      </Parameters>
      <Docs>
        <summary>Constructs a Value from a specified object.</summary>
        <param name="val">an object of type <see cref="T:GLib.Object" /></param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (IntPtr val);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="val" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>Constructs a Value from a specified pointer.</summary>
        <param name="val">an object of type <see cref="T:System.IntPtr" /></param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (string val);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="val" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Constructs a Value from a specified string.</summary>
        <param name="val">an object of type <see cref="T:System.String" /></param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (uint val);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="val" Type="System.UInt32" />
      </Parameters>
      <Docs>
        <summary>Constructs a Value from a specified uint.</summary>
        <param name="val">an object of type <see cref="T:System.UInt32" /></param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (ushort val);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="val" Type="System.UInt16" />
      </Parameters>
      <Docs>
        <summary>Constructs a Value from a specified ushort.</summary>
        <param name="val">an object of type <see cref="T:System.UInt16" /></param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Dispose">
      <MemberSignature Language="C#" Value="public void Dispose ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Disposes the underlying value</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (object obj);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="obj" Type="System.Object" />
      </Parameters>
      <Docs>
        <summary>Constructs a Value from any object, including a managed type.</summary>
        <param name="obj">a <see cref="T:System.Object" /></param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (IntPtr obj, string prop_name, GLib.Opaque val);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="obj" Type="System.IntPtr" />
        <Parameter Name="prop_name" Type="System.String" />
        <Parameter Name="val" Type="GLib.Opaque" />
      </Parameters>
      <Docs>
        <summary>Constructs a value for an Opaque type.</summary>
        <param name="obj">a <see cref="T:System.IntPtr" /></param>
        <param name="prop_name">a <see cref="T:System.String" /></param>
        <param name="val">a <see cref="T:GLib.Opaque" /></param>
        <remarks />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete(Message=null, IsError=False)</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="Val">
      <MemberSignature Language="C#" Value="public object Val { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Accesses the value.</summary>
        <value>a <see cref="T:System.Object" /></value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (GLib.GType gtype);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="gtype" Type="GLib.GType" />
      </Parameters>
      <Docs>
        <summary>Constructs an initialized value for a given type.</summary>
        <param name="gtype">a <see cref="T:GLib.GType" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Empty">
      <MemberSignature Language="C#" Value="public static GLib.Value Empty;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>GLib.Value</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>An unitialized value.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Init">
      <MemberSignature Language="C#" Value="public void Init (GLib.GType gtype);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gtype" Type="GLib.GType" />
      </Parameters>
      <Docs>
        <summary>Initializes a value to a given type.</summary>
        <param name="gtype">a <see cref="T:GLib.GType" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (GLib.Object obj, string prop_name);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="obj" Type="GLib.Object" />
        <Parameter Name="prop_name" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Constructs a value initialized for a given property name.</summary>
        <param name="obj">a <see cref="T:GLib.Object" /></param>
        <param name="prop_name">a <see cref="T:System.String" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (GLib.Object obj, string prop_name, GLib.EnumWrapper wrap);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="obj" Type="GLib.Object" />
        <Parameter Name="prop_name" Type="System.String" />
        <Parameter Name="wrap" Type="GLib.EnumWrapper" />
      </Parameters>
      <Docs>
        <summary>Constructs a value initialized to a given enumerated type property.</summary>
        <param name="obj">a <see cref="T:GLib.Object" /></param>
        <param name="prop_name">a <see cref="T:System.String" /></param>
        <param name="wrap">a <see cref="T:GLib.EnumWrapper" /></param>
        <remarks />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete(Message=null, IsError=False)</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (GLib.Opaque val, string type_name);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="val" Type="GLib.Opaque" />
        <Parameter Name="type_name" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Constructs a Value from an <see cref="T:GLib.Opaque" /> object of a given type</summary>
        <param name="val">an <see cref="T:GLib.Opaque" /> object</param>
        <param name="type_name">the (C/GType) name of <paramref name="val" />'s type</param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (GLib.EnumWrapper wrap, string type_name);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="wrap" Type="GLib.EnumWrapper" />
        <Parameter Name="type_name" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Constructs a Value from an <see cref="T:GLib.Opaque" /> object of a given type</summary>
        <param name="wrap">an <see cref="T:GLib.EnumWrapper" /> value</param>
        <param name="type_name">the (C/GType) name of <paramref name="wrap" />'s type</param>
        <remarks>
        </remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete(Message="Replaced by Value(object) constructor", IsError=False)</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (long val);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="val" Type="System.Int64" />
      </Parameters>
      <Docs>
        <summary>Constructs a value for a 64 bit integer.</summary>
        <param name="val">a <see cref="T:System.Int64" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (ulong val);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="val" Type="System.UInt64" />
      </Parameters>
      <Docs>
        <summary>Constructs a value for a 64 bit unsigned integer.</summary>
        <param name="val">a <see cref="T:System.UInt64" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static bool op_Explicit (GLib.Value val);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Extracts a boolean value from a <see cref="T:GLib.Value" />.</summary>
        <returns>The boolean value.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static int op_Explicit (GLib.Value val);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Extracts an integer value from a <see cref="T:GLib.Value" />.</summary>
        <returns>The integer value.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static uint op_Explicit (GLib.Value val);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Extracts an unsigned integer value from a <see cref="T:GLib.Value" />.</summary>
        <returns>The unsigned integer value.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static ushort op_Explicit (GLib.Value val);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt16</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Extracts an unsigned short value from a <see cref="T:GLib.Value" />.</summary>
        <returns>The unsigned short value.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static long op_Explicit (GLib.Value val);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int64</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Extracts a long integer value from a <see cref="T:GLib.Value" />.</summary>
        <returns>The long integer value.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static ulong op_Explicit (GLib.Value val);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt64</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Extracts an unsigned long integer value from a <see cref="T:GLib.Value" />.</summary>
        <returns>The unsigned long integer value.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static GLib.EnumWrapper op_Explicit (GLib.Value val);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>GLib.EnumWrapper</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Extracts an enumeration value from a <see cref="T:GLib.Value" />.</summary>
        <returns>The enumeration value.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static float op_Explicit (GLib.Value val);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Single</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Extracts a floating-point value from a <see cref="T:GLib.Value" />.</summary>
        <returns>The floating-point value.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static double op_Explicit (GLib.Value val);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Double</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Extracts a double-precision floating-point value from a <see cref="T:GLib.Value" />.</summary>
        <returns>The double-precision floating-point value.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static string op_Explicit (GLib.Value val);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Extracts a string value from a <see cref="T:GLib.Value" />.</summary>
        <returns>The string value.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static IntPtr op_Explicit (GLib.Value val);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.IntPtr</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Extracts an untyped pointer value from a <see cref="T:GLib.Value" />.</summary>
        <returns>The untyped pointer value.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static GLib.Opaque op_Explicit (GLib.Value val);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>GLib.Opaque</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Extracts an opaque object value from a <see cref="T:GLib.Value" />.</summary>
        <returns>The opaque object value.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static GLib.Boxed op_Explicit (GLib.Value val);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>GLib.Boxed</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Extracts a boxed type value from a <see cref="T:GLib.Value" />.</summary>
        <returns>The boxed type value.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static GLib.Object op_Explicit (GLib.Value val);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>GLib.Object</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Extracts an object value from a <see cref="T:GLib.Value" />.</summary>
        <returns>The object value.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static GLib.UnwrappedObject op_Explicit (GLib.Value val);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>GLib.UnwrappedObject</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Extracts an unwrapped object value from a <see cref="T:GLib.Value" />.</summary>
        <returns>The unwrapped object value.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Value (string[] val);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="val" Type="System.String[]" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Constructs a Value from a specified string array.</summary>
        <remarks />
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static string[] op_Explicit (GLib.Value val);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Extracts a string array from a <see cref="T:GLib.Value" />.</summary>
        <returns>The string array value.</returns>
        <remarks />
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static Enum op_Explicit (GLib.Value val);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Enum</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">a <see cref="T:GLib.Value" /></param>
        <summary>Extracts an enum value from a <see cref="T:GLib.Value" />.</summary>
        <returns>The enum value.</returns>
        <remarks>Note that casting a <see cref="T:GLib.Value" /> to any enum type will invoke this operator.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
