﻿<?xml version="1.0" encoding="utf-8"?>
<typedef anchor="T:net.lshift.ndocproc.examples.twopointoh.Node`2" leaf="Node" fullname="net.lshift.ndocproc.examples.twopointoh.Node`2" namespace="net.lshift.ndocproc.examples.twopointoh" class="true" generictype="true" generictypedefinition="true" public="true">
  <type name="net.lshift.ndocproc.examples.twopointoh.Node`2" referenceChain="" leaf="Node" namespace="net.lshift.ndocproc.examples.twopointoh" local="true" generictype="true" generictypedefinition="true" genericparameter="false">
    <genericarguments>
      <type name="" referenceChain="" leaf="K" namespace="" local="genericparameter" generictype="false" generictypedefinition="false" genericparameter="true" genericparameterposition="0">
        <typeconstraints>
          <notnullablevaluetype />
          <type name="System.IComparable`1" referenceChain="" leaf="IComparable" namespace="System" local="false" generictype="true" generictypedefinition="false" genericparameter="false">
            <genericarguments>
              <type name="" referenceChain="" leaf="K" namespace="" local="genericparameter" generictype="false" generictypedefinition="false" genericparameter="true" genericparameterposition="0" />
            </genericarguments>
          </type>
        </typeconstraints>
      </type>
      <type name="" referenceChain="" leaf="T" namespace="" local="genericparameter" generictype="false" generictypedefinition="false" genericparameter="true" genericparameterposition="1">
        <typeconstraints>
          <referencetype />
          <defaultconstructor />
        </typeconstraints>
      </type>
    </genericarguments>
  </type>
  <extends>
    <class>
      <type name="System.Object" referenceChain="" leaf="Object" namespace="System" local="false" generictype="false" generictypedefinition="false" genericparameter="false" />
    </class>
    <interface>
      <type name="System.ICloneable" referenceChain="" leaf="ICloneable" namespace="System" local="false" generictype="false" generictypedefinition="false" genericparameter="false" />
    </interface>
  </extends>
  <known-subtypes />
  <doc><summary>Code examples from
            http://msdn2.microsoft.com/en-us/library/ms379564(vs.80).aspx</summary></doc>
  <members>
    <field anchor="F:net.lshift.ndocproc.examples.twopointoh.Node`2.Item" leaf="Item" fullname="net.lshift.ndocproc.examples.twopointoh.Node`2.Item" namespace="net.lshift.ndocproc.examples.twopointoh" public="true">
      <type name="" referenceChain="" leaf="T" namespace="" local="genericparameter" generictype="false" generictypedefinition="false" genericparameter="true" genericparameterposition="1" />
      <doc><summary>Item field</summary></doc>
    </field>
    <field anchor="F:net.lshift.ndocproc.examples.twopointoh.Node`2.Key" leaf="Key" fullname="net.lshift.ndocproc.examples.twopointoh.Node`2.Key" namespace="net.lshift.ndocproc.examples.twopointoh" public="true">
      <type name="" referenceChain="" leaf="K" namespace="" local="genericparameter" generictype="false" generictypedefinition="false" genericparameter="true" genericparameterposition="0" />
      <doc><summary>Key field</summary></doc>
    </field>
    <field anchor="F:net.lshift.ndocproc.examples.twopointoh.Node`2.NextNode" leaf="NextNode" fullname="net.lshift.ndocproc.examples.twopointoh.Node`2.NextNode" namespace="net.lshift.ndocproc.examples.twopointoh" public="true">
      <type name="net.lshift.ndocproc.examples.twopointoh.Node`2" referenceChain="" leaf="Node" namespace="net.lshift.ndocproc.examples.twopointoh" local="true" generictype="true" generictypedefinition="true" genericparameter="false">
        <genericarguments>
          <type name="" referenceChain="" leaf="K" namespace="" local="genericparameter" generictype="false" generictypedefinition="false" genericparameter="true" genericparameterposition="0" />
          <type name="" referenceChain="" leaf="T" namespace="" local="genericparameter" generictype="false" generictypedefinition="false" genericparameter="true" genericparameterposition="1" />
        </genericarguments>
      </type>
      <doc><summary>Link to next element in list</summary></doc>
    </field>
    <method anchor="M:net.lshift.ndocproc.examples.twopointoh.Node`2.#ctor(`0,`1,net.lshift.ndocproc.examples.twopointoh.Node{`0,`1})" leaf="Node" fullname="net.lshift.ndocproc.examples.twopointoh.Node`2.#ctor(`0,`1,net.lshift.ndocproc.examples.twopointoh.Node{`0,`1})" namespace="net.lshift.ndocproc.examples.twopointoh" constructor="true" public="true" specialname="true">
      <constructor />
      <parameters>
        <parameter name="key" input="false" output="false" reference="false" position="0">
          <type name="" referenceChain="" leaf="K" namespace="" local="genericparameter" generictype="false" generictypedefinition="false" genericparameter="true" genericparameterposition="0" />
        </parameter>
        <parameter name="item" input="false" output="false" reference="false" position="1">
          <type name="" referenceChain="" leaf="T" namespace="" local="genericparameter" generictype="false" generictypedefinition="false" genericparameter="true" genericparameterposition="1" />
        </parameter>
        <parameter name="nextNode" input="false" output="false" reference="false" position="2">
          <type name="net.lshift.ndocproc.examples.twopointoh.Node`2" referenceChain="" leaf="Node" namespace="net.lshift.ndocproc.examples.twopointoh" local="true" generictype="true" generictypedefinition="true" genericparameter="false">
            <genericarguments>
              <type name="" referenceChain="" leaf="K" namespace="" local="genericparameter" generictype="false" generictypedefinition="false" genericparameter="true" genericparameterposition="0" />
              <type name="" referenceChain="" leaf="T" namespace="" local="genericparameter" generictype="false" generictypedefinition="false" genericparameter="true" genericparameterposition="1" />
            </genericarguments>
          </type>
        </parameter>
      </parameters>
      <doc><summary>Full ctor</summary></doc>
    </method>
    <method anchor="M:net.lshift.ndocproc.examples.twopointoh.Node`2.#ctor" leaf="Node" fullname="net.lshift.ndocproc.examples.twopointoh.Node`2.#ctor" namespace="net.lshift.ndocproc.examples.twopointoh" constructor="true" public="true" specialname="true">
      <constructor />
      <parameters />
      <doc><summary>Default ctor</summary></doc>
    </method>
    <method anchor="M:net.lshift.ndocproc.examples.twopointoh.Node`2.Clone" leaf="Clone" fullname="net.lshift.ndocproc.examples.twopointoh.Node`2.Clone" namespace="net.lshift.ndocproc.examples.twopointoh" public="true">
      <returns>
        <type name="net.lshift.ndocproc.examples.twopointoh.Node`2" referenceChain="" leaf="Node" namespace="net.lshift.ndocproc.examples.twopointoh" local="true" generictype="true" generictypedefinition="true" genericparameter="false">
          <genericarguments>
            <type name="" referenceChain="" leaf="K" namespace="" local="genericparameter" generictype="false" generictypedefinition="false" genericparameter="true" genericparameterposition="0" />
            <type name="" referenceChain="" leaf="T" namespace="" local="genericparameter" generictype="false" generictypedefinition="false" genericparameter="true" genericparameterposition="1" />
          </genericarguments>
        </type>
      </returns>
      <parameters />
      <doc><summary>Typesafe clone.</summary></doc>
    </method>
    <method anchor="M:net.lshift.ndocproc.examples.twopointoh.Node`2.System.ICloneable.Clone" leaf="System.ICloneable.Clone" fullname="net.lshift.ndocproc.examples.twopointoh.Node`2.System.ICloneable.Clone" namespace="net.lshift.ndocproc.examples.twopointoh" final="true" private="true" virtual="true">
      <returns>
        <type name="System.Object" referenceChain="" leaf="Object" namespace="System" local="false" generictype="false" generictypedefinition="false" genericparameter="false" />
      </returns>
      <parameters />
      <doc><summary>Implement ICloneable.Clone by delegating to our type-safe variant.</summary><remarks>
            MCS (and possibly CSC also) is buggy. The emitted
            documentation XML file refers to this method as
            M:net.lshift.ndocproc.examples.twopointoh.Node`2.System.ICloneable.Clone
            when implemented as System.ICloneable.Clone (in so many
            words), and as
            M:net.lshift.ndocproc.examples.twopointoh.Node`2.ICloneable.Clone
            when implemented as ICloneable.Clone. It shouldn't matter
            which name it's implemented under - the compiler should
            fully-qualify the method name before emitting the
            documentation XML - but since there's no clean way of
            guessing the actual identifier used by the author of a
            piece of code (other than perhaps laboriously guessing and
            checking against the actual emitted XML), NDocProc ignores
            the problem and relies on code authors to write the
            fully-qualified names in order to find the appropriate
            documentation stanza.
            </remarks></doc>
    </method>
  </members>
</typedef>