<Type Name="ABRecord" FullName="MonoMac.AddressBook.ABRecord">
  <TypeSignature Language="C#" Value="public abstract class ABRecord : IDisposable, MonoMac.ObjCRuntime.INativeObject" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit ABRecord extends System.Object implements class MonoMac.ObjCRuntime.INativeObject, class System.IDisposable" />
  <AssemblyInfo>
    <AssemblyName>MonoMac</AssemblyName>
    <AssemblyVersion>0.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>MonoMac.ObjCRuntime.INativeObject</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.IDisposable</InterfaceName>
    </Interface>
  </Interfaces>
  <Docs>
    <summary>
      Base type for
      <see cref="T:MonoMac.AddressBook.ABGroup" /> and
      <see cref="T:MonoMac.AddressBook.ABPerson" />.
    </summary>
    <remarks>
      <para>
        Supported operations:
      </para>
      <list type="bullet">
        <item>
          <term>
            Getting record information:
            <see cref="P:MonoMac.AddressBook.ABRecord.Id" />,
            <see cref="P:MonoMac.AddressBook.ABRecord.Type" />.
          </term>
        </item>
      </list>
    </remarks>
  </Docs>
  <Members>
    <Member MemberName="Dispose">
      <MemberSignature Language="C#" Value="public void Dispose ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Dispose() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>0.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Releases the resources used by the ABRecord object.</summary>
        <remarks>
          <para>The Dispose method releases the resources used by the ABRecord class.</para>
          <para>Calling the Dispose method when you are finished using the ABRecord ensures that all external resources used by this managed object are released as soon as possible.  Once you have invoked the Dispose method, the object is no longer useful and you should no longer make any calls to it.  For more information on releasing resources see ``Cleaning up Unmananaged Resources'' at http://msdn.microsoft.com/en-us/library/498928w2.aspx</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Dispose">
      <MemberSignature Language="C#" Value="protected virtual void Dispose (bool disposing);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void Dispose(bool disposing) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>0.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="disposing" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="disposing">
          <para>If set to <see langword="true" />, the method is invoked directly and will dispose manage and unmanaged resources;   If set to <see langword="false" /> the method is being called by the garbage collector finalizer and should only release unmanaged resources.</para>
        </param>
        <summary>Releases the resources used by the ABRecord object.</summary>
        <remarks>
          <para>This Dispose method releases the resources used by the ABRecord class.</para>
          <para>This method is called by both the Dispose() method and the object finalizer (Finalize).    When invoked by the Dispose method, the parameter disposting <paramref name="disposing" /> is set to <see langword="true" /> and any managed object references that this object holds are also disposed or released;  when invoked by the object finalizer, on the finalizer thread the value is set to <see langword="false" />. </para>
          <para>Calling the Dispose method when you are finished using the ABRecord ensures that all external resources used by this managed object are released as soon as possible.  Once you have invoked the Dispose method, the object is no longer useful and you should no longer make any calls to it.</para>
          <para>  For more information on how to override this method and on the Dispose/IDisposable pattern, read the ``Implementing a Dispose Method'' document at http://msdn.microsoft.com/en-us/library/fs2xkftw.aspx</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Finalize">
      <MemberSignature Language="C#" Value="~ABRecord ();" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Finalize() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>0.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Finalizer for the ABRecord object</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Handle">
      <MemberSignature Language="C#" Value="public IntPtr Handle { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance native int Handle" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>0.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.IntPtr</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Handle (pointer) to the unmanaged object representation.</summary>
        <value>A pointer</value>
        <remarks>This IntPtr is a handle to the underlying unmanaged representation for this object.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Id">
      <MemberSignature Language="C#" Value="public int Id { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 Id" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>0.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets the unique ID of the record.</summary>
        <value>
          A <see cref="T:System.Int32" /> which is the unique ID of the record.
        </value>
        <remarks>
          <para>
            If the record hasn't been saved into the database, this is
            <see cref="F:MonoMac.AddressBook.ABRecord.InvalidRecordId" />.
          </para>
        </remarks>
        <altmember cref="M:MonoMac.AddressBook.ABAddressBook.Save" />
      </Docs>
    </Member>
    <Member MemberName="InvalidPropertyId">
      <MemberSignature Language="C#" Value="public const int InvalidPropertyId = -1;" />
      <MemberSignature Language="ILAsm" Value=".field public static literal int32 InvalidPropertyId = (-1)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>0.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <MemberValue>-1</MemberValue>
      <Docs>
        <summary>
          An invalid value for a property id.
        </summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="InvalidRecordId">
      <MemberSignature Language="C#" Value="public const int InvalidRecordId = -1;" />
      <MemberSignature Language="ILAsm" Value=".field public static literal int32 InvalidRecordId = (-1)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>0.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <MemberValue>-1</MemberValue>
      <Docs>
        <summary>
          An invalid value for a record id.
        </summary>
        <remarks>
          <para>
            <see cref="P:MonoMac.AddressBook.ABRecord.Id" /> returns this
            value when the record hasn't been saved to the database.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="ToString">
      <MemberSignature Language="C#" Value="public override string ToString ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string ToString() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>0.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          Returns the composite name of the <see cref="T:MonoMac.AddressBook.ABRecord" />.
        </summary>
        <returns>
          A <see cref="T:System.String" /> containing
          the composite name of the <see cref="T:MonoMac.AddressBook.ABRecord" />.
        </returns>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Type">
      <MemberSignature Language="C#" Value="public MonoMac.AddressBook.ABRecordType Type { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance valuetype MonoMac.AddressBook.ABRecordType Type" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>0.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>MonoMac.AddressBook.ABRecordType</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets the type of the record.</summary>
        <value>
          A <see cref="T:MonoMac.AddressBook.ABRecordType" /> containing
          the type of the record.
        </value>
        <remarks>
        </remarks>
      </Docs>
    </Member>
  </Members>
</Type>
