Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Barnette <jbarn@mono-cvs.ximian.com>2002-03-15 18:20:40 +0300
committerJohn Barnette <jbarn@mono-cvs.ximian.com>2002-03-15 18:20:40 +0300
commitc4bb541576436e95dd395d1f046702a791ed2f92 (patch)
tree51b151b24b7723e7c12c3e7f109d45505d91a396 /web/monodoc-xml
parent73010d4dcd9ec9fde11ea96fc2e5aca36ae54de7 (diff)
Initial release.
svn path=/trunk/mono/; revision=3129
Diffstat (limited to 'web/monodoc-xml')
-rw-r--r--web/monodoc-xml755
1 files changed, 755 insertions, 0 deletions
diff --git a/web/monodoc-xml b/web/monodoc-xml
new file mode 100644
index 00000000000..a0b4f11adf5
--- /dev/null
+++ b/web/monodoc-xml
@@ -0,0 +1,755 @@
+* MonoDoc XML Tag Reference
+
+** Introduction
+
+<em>
+[This documentation is in progress. Comments to
+<a href="mailto:jbarn@httcb.net">jbarn@httcb.net</a> and/or
+<a href="mailto:mono-docs-list@ximian.com">mono-docs-list@ximian.com</a>.]
+</em>
+
+MonoDoc XML, our format for multilingual API documentation stored outside of
+source files, is very similar to the output of Microsoft's csc /doc. Minor
+alterations have been made to ease human parsing and hand-editing, but
+the majority of the tags are identical. In fact, many of the descriptions
+and examples below are taken from the ECMA C# Language Specification with
+little or no alteration.
+
+This document provides a list of all available MonoDoc XML tags, with
+syntax and examples. A complete example can be found in
+<a href="#appendix-a">Appendix A</a>, and both a <a href="#">DTD</a> and
+<a href="#">XSD schema</a> will be available very shortly.
+
+** MonoDoc XML Tags
+
+<dl>
+<dt><code><a href="#c">&lt;c&gt;</a></code></dt>
+<dd>Mark short sections of text as code.</dd>
+
+<dt><code><code><a href="#code">&lt;code&gt;</a></code></dt></code>
+<dd>Mark one or more lines as code or output.</dd>
+
+<dt><code><a href="#doc">&lt;doc&gt;</a></dt></code>
+<dd>Root element of documentation XML.</dd>
+
+<dt><code><a href="#event">&lt;event&gt;</a></dt></code>
+<dd>Describe an event.</dd>
+
+<dt><code><a href="#example">&lt;example&gt;</a></dt></code>
+<dd>An example.</dd>
+
+<dt><code><a href="#exception">&lt;exception&gt;</a></dt></code>
+<dd>Specify an exception a method can throw.</dd>
+
+<dt><code><a href="#field">&lt;field&gt;</a></dt></code>
+<dd>Describe a field.</dd>
+
+<dt><code><a href="#list">&lt;list&gt;</a></dt></code>
+<dd>Create a list or table.</dd>
+
+<dt><code><a href="#method">&lt;method&gt;</a></dt></code>
+<dd>Describe a method.</dd>
+
+<dt><code><a href="#para">&lt;para&gt;</a></dt></code>
+<dd>Allow text to be structured in paragraphs.</dd>
+
+<dt><code><a href="#param">&lt;param&gt;</a></dt></code>
+<dd>Specify a parameter for a method.</dd>
+
+<dt><code><a href="#paramref">&lt;paramref&gt;</a></dt></code>
+<dd>Mark a word as a parameter.</dd>
+
+<dt><code><a href="#permission">&lt;permission&gt;</a></dt></code>
+<dd>Define the access level of a member.</dd>
+
+<dt><code><a href="#property">&lt;property&gt;</a></dt></code>
+<dd>Describe a property.</dd>
+
+<dt><code><a href="#remarks">&lt;remarks&gt;</a></dt></code>
+<dd>Provide verbose information for a type or member.</dd>
+
+<dt><code><a href="#returns">&lt;returns&gt;</a></dt></code>
+<dd>Specify the return value of a method.</dd>
+
+<dt><code><a href="#see">&lt;see&gt;</a></dt></code>
+<dd>Specify a link.</dd>
+
+<dt><code><a href="#seealso">&lt;seealso&gt;</a></dt></code>
+<dd>Specify a 'see also' entry.</dd>
+
+<dt><code><a href="#summary">&lt;summary&gt;</a></dt></code>
+<dd>Provide a brief (usually one sentence) description of a member or type.</dd>
+
+<dt><code><a href="#type">&lt;type&gt;</a></dt></code>
+<dd>Describe a type.</dd>
+</dl>
+
+** Definitions and Examples
+
+*** <a name="c">&lt;c&gt;</a>
+
+This tag can be used to mark short, inline fragments of text that should
+be considered source code or program output. User agents should render
+this tag in a special -- likely monospace -- font. For larger sections,
+use <a href="#code"><code>&lt;code&gt;</code></a>.
+
+**** Syntax
+
+<pre>
+&lt;c&gt;code or output text&lt;/c&gt;
+</pre>
+
+**** Example
+
+<pre>
+&lt;remarks&gt;
+ Class &lt;c&gt;Point&lt;/c&gt; models a point in two-dimensional space.
+&lt;/remarks&gt;
+</pre>
+
+*** <a name="code">&lt;code&gt;</a>
+
+This tag can be used to mark one or more lines of text as source code or
+program output. User agents should render this tag in a special (likely
+monospace) font, and preserve both whitespace and newlines.
+
+**** Syntax
+
+ <code>&lt;code&gt;source or program output&lt;/code&gt;</code>
+
+**** Example
+
+<pre>
+&lt;summary&gt;
+ This method changes the point's location by the given
+ x- and y-offsets.
+ &lt;example lang="C#"&gt;
+ A C# example:
+ &lt;code&gt;
+ Point p = new Point(3, 5);
+ p.Translate(-1, 3);
+ // p == (2, 8);
+ &lt;/code&gt;
+ &lt;/example&gt;
+&lt;/summary&gt;
+</pre>
+
+*** <a name="doc">&lt;doc&gt;</a>
+
+This tag is the root element of the documentation file. It can contain
+any number of &lt;type&gt; elements.
+
+**** Syntax
+
+<code>&lt;doc lang="language" assembly="assembly"&gt;typedocs&lt;/doc&gt;</code>
+
+<blockquote>
+<em>lang="language"</em><br />
+The two-letter ISO code that specifies what language the contained
+documentation is written in.
+</blockquote>
+
+**** Example
+
+<pre>
+&lt;doc lang="en"&gt;
+ &lt;type name="Graphics.Point"&gt;
+ &lt;!-- ... --&gt;
+ &lt;/type&gt;
+&lt;/doc&gt;
+</pre>
+
+*** <a name="event">&lt;event&gt;</a>
+
+This tag documents an event.
+
+**** Syntax
+
+<code>&lt;event name="eventname"&gt;documentation&lt;/event&gt;</code>
+
+<blockquote>
+<em>name="eventname"</em><br />
+The name of the event being documented.
+</blockquote>
+
+**** Example
+
+<pre>
+&lt;event name="Click"&gt;
+ &lt;summary&gt;
+ Occurs when the control is clicked.
+ &lt;/summary&gt;
+ &lt;data&gt;
+ The event handler receives an argument of type EventArgs
+ containing data related to this event.
+ &lt;/data&gt;
+ &lt;remarks&gt;
+ &lt;para&gt;The ControlStyles.StandardClick style must be set
+ for this event to be raised.&lt;/para&gt;
+ &lt;para&gt;For more information about handling events, see
+ Consuming Events.&lt;/para&gt;
+ &lt;/remarks&gt;
+&lt;/event&gt;
+</pre>
+
+*** <a name="example">&lt;example&gt;</a>
+
+This tag marks a section of text as an example, and optionally specifies
+what programming language <code><a href="#code">&lt;code&gt;</a></code> portions of the example are written in.
+
+**** Syntax
+
+<code><example lang="language">example text and code</example></code>
+
+<blockquote>
+<em>lang="language"</em><br />
+(optional) The name of the programming language <code><a href="#code">&lt;code&gt;</a></code> blocks in this example
+use. This information can be used by user agents to provide
+intelligent access to examples in multiple languages.
+</blockquote>
+
+**** Example
+
+See <code><a href="#code">&lt;code&gt;<a/></code> for an example.
+
+*** <a name="exception">&lt;exception&gt;</a>
+
+This tag provides a way to specify the exceptions a method can throw.
+
+**** Syntax
+
+<code>&lt;exception cref="exception-type"&gt;description&lt;/exception&gt;</code>
+
+<blockquote>
+<em>cref="exception-type"</em><br />
+The name of an exception type.
+</blockquote>
+
+**** Example
+
+<pre>
+&lt;exception cref="System.IO.FileNotFoundException"&gt;
+ Thrown when the requested file is not found.
+&lt;/exception&gt;
+</pre>
+
+*** <a name="field">&lt;field&gt;</a>
+
+This tag is used to describe a field.
+
+**** Syntax
+
+<code>&lt;field name="fieldname"&gt;documentation&lt;/field&gt;</code>
+
+<blockquote>
+<em>name="fieldname"</em><br />
+The name of the field being documented.
+</blockquote>
+
+**** Example
+
+<pre>
+&lt;field name="x"&gt;
+ &lt;summary&gt;
+ Instance variable &lt;c&gt;x&lt;/c&gt; represents the point's
+ x-coordinate.
+ &lt;/summary&gt;
+&lt;/field&gt;
+</pre>
+
+*** <a name="list">&lt;list&gt;</a>
+
+This tag is used to create a list or table of items. It may contain a
+<code>&lt;listheader&gt;</code> block to define the heading row of either a table or
+definition list. (When defining a table, only an entry for 'term' in the
+heading need be supplied.)
+
+Each item in the list is specified with an <code>&lt;item&gt;</code> block. When creating a
+definition list, both <code>&lt;term&gt;</code> and <code>&ltdescription&gt;</code> must be specified.
+However, for a table, bulleted list, or numbered list, only <code>&lt;description&gt;</code>
+need be specified.
+
+**** Syntax
+
+<pre>
+&lt;list type="bullet" | "number" | "table"&gt;
+ &lt;listheader&gt;
+ &lt;term&gt;term&lt;/term&gt;
+ &lt;description&gt;description&lt;/description&gt;
+ &lt;/listheader&gt;
+ &lt;item&gt;
+ &lt;term&gt;term&lt;/term&gt;
+ &lt;description&gt;description&lt;/description&gt;
+ &lt;/item&gt;
+
+ ...
+
+&lt;/list&gt;
+</pre>
+
+<blockquote>
+<em>term</em><br />
+The term to define, whose definition is in <code>&lt;description&gt;</code>.
+<br /><br />
+<em>description</em><br />
+Either an item in a bullet or numbered list, or the definition of a <code>&lt;term&gt;</code>.
+</blockquote>
+
+**** Example
+
+<pre>
+&lt;list type="bullet"&gt;
+ &lt;item&gt;
+ &lt;description&gt;Item 1&lt;/description&gt;
+ &lt;/item&gt;
+ &lt;item&gt;
+ &lt;description&gt;Item 2&lt;/description&gt;
+ &lt;/item&gt;
+&lt;/list&gt;
+</pre>
+
+*** <a name="method">&lt;method&gt;</a>
+
+This tag is the overall containing tag for documenting a method.
+
+**** Syntax
+
+<code>&lt;method name="methodname"&gt;documentation&lt;/method&gt;</code>
+
+**** Example
+
+<pre>
+&lt;method name="op_Equality(Graphics.Point,Graphics.Point)"&gt;
+ &lt;summary&gt;
+ This operator determines whether two points have
+ the same location.
+ &lt;/summary&gt;
+ &lt;param name="p1"&gt;
+ &lt;c&gt;p1&lt;/c&gt; is the first Point to be compared.
+ &lt;/param&gt;
+ &lt;param name="p2"&gt;
+ &lt;c&gt;p2&lt;/c&gt; is the second Point to be compared.
+ &lt;/param&gt;
+ &lt;returns&gt;
+ True if the points have the same location and they
+ have the exact same type; otherwise, false.
+ &lt;/returns&gt;
+ &lt;seealso cref="Equals(System.Object)" /&gt;
+ &lt;seealso cref="op_Inequality(Graphics.Point,Graphics.Point)" /&gt;
+&lt;/method&gt;
+</pre>
+
+*** <a name="para">&lt;para&gt;</a>
+
+
+This tag is for use inside other tags such as <code>&lt;remarks&gt;</code> or <code>&lt;returns&gt;</code>, and
+allows text to be structured into paragraphs.
+
+**** Syntax
+
+<code>&lt;para&gt;text&lt;/para&gt;</code>
+
+**** Example
+
+<pre>
+&lt;summary&gt;
+ &lt;para&gt;
+ This is the entry point of the &lt;c&gt;Point&lt;/c&gt; class testing
+ program.
+ &lt;/para&gt;
+ &lt;para&gt;
+ This program tests each method and operator, and
+ is intended to be run after any non-trivial maintenance has
+ been performed on the &lt;c&gt;Point&lt;/c&gt; class.
+ &lt;/para&gt;
+&lt;/summary&gt;
+</pre>
+
+*** <a name="param">&lt;param&gt;</a>
+
+This tag is used to describe a parameter for a method, constructor, or
+indexer.
+
+**** Syntax
+
+<code>&lt;param name="name"&gt;description&lt;/param&gt;</code>
+
+<blockquote>
+<em>name</em><br />
+The name of the parameter.
+</blockquote>
+
+**** Example
+
+<pre>
+&lt;summary&gt;
+ This is the entry point of the &lt;c&gt;Point&lt;/c&gt;
+ class.
+&lt;/summary&gt;
+&lt;param name="xor"&gt;&lt;c&gt;xor&lt;/c&gt; is the new x-coordinate.&lt;/param&gt;
+&lt;param name "yor"&gt;&lt;c&gt;yor&lt;/c&gt; is the new y-coordinate.&lt;/param&gt;
+</pre>
+
+*** <a name="paramref">&lt;paramref&gt;</a>
+
+This tag is used to indicate that a word is a parameter. User agents
+could use this information for special formatting or hyperlink insertion.
+
+**** Syntax
+
+<code>&lt;paramref name="name" /&gt;</code>
+
+<blockquote>
+<em>name</em><br />
+The name of the parameter.
+</blockquote>
+
+**** Example
+
+<pre>
+&lt;summary&gt;
+ This constructor initializes the new Point to
+ (&lt;paramref name="xor" /&gt;,&lt;paramref name="yor" /&gt;).
+&lt;/summary&gt;
+&lt;param name="xor"&gt;&lt;c&gt;xor&lt;/c&gt; is the new x-coordinate.&lt;/param&gt;
+&lt;param name "yor"&gt;&lt;c&gt;yor&lt;/c&gt; is the new y-coordinate.&lt;/param&gt;
+</pre>
+
+*** <a name="permission">&lt;permission&gt;</a>
+
+This tag allows the security accessibility of a member to be documented.
+
+**** Syntax
+
+<code>&lt;permission cref="member"&gt;description&lt;/permission&gt;</code>
+
+<blockquote>
+<em>cref="member"</em><br />
+The name of a member.</br>
+</blockquote>
+
+**** Example
+
+<pre>
+&lt;permission cref="System.Security.PermissionSet"&gt;
+ Everyone can access this method.
+&lt;/permission&gt;
+</pre>
+
+*** <a name="property">&ltproperty&gt;</a>
+
+This tag is the overall containing tag for documenting a property.
+
+**** Syntax
+
+<code>&lt;property name="propertyname"&gt;documentation&lt;/property&gt;</code>
+
+<blockquote>
+<em>name="propertyname"</em><br />
+The name of the property.
+</blockquote>
+
+**** Example
+
+<pre>
+&lt;property name="X"&gt;
+ &lt;summary&gt;
+ Gets or sets the point's x-coordinate.
+ &lt;value&gt;
+ The point's x-coordinate.
+ &lt;/value&gt;
+&lt;/property&gt;
+</pre>
+
+
+*** <a name="remarks">&lt;remarks&gt;</a>
+
+This tag contains extended discussion and information about a member or
+a type. <em>[jbarn: This differs from both the ECMA docs and
+portions of Microsoft's documentation, but seems consistent with both
+common usage, and, more importantly, NDoc convention.]</em>
+
+**** Syntax
+
+<code>&lt;remarks&gt;description&lt;/remarks&gt;</code>
+
+**** Example
+
+<pre>
+&lt;type name="Graphics.Point"&gt;
+ &lt;summary&gt;
+ Models a point in a two-dimensional plane.
+ &lt;/summary&gt;
+ &lt;remarks&gt;
+ Herein I might have an extended discussion of
+ the validity of Cartesian coordinate systems,
+ with examples pro and con, and perhaps
+ some code.
+ &lt;/remarks&gt;
+
+ &lt;!-- ... --&gt;
+&lt;/type&gt;
+</pre>
+
+*** <a name="returns">&lt;returns&gt;</a>
+
+This tag is used to describe the return value of a method.
+
+**** Syntax
+
+<code>&lt;returns&gt;description&lt;/returns&gt;</code>
+
+**** Example
+
+<pre>
+&lt;method name="op_Inequality(Graphics.Point,Graphics.Point)"&gt;
+ &lt;summary&gt;
+ This operator determines whether two points have the
+ same location.
+ &lt;/summary&gt;
+ &lt;param name="p1"&gt;&lt;c&gt;p1&lt;/c&gt; is the first Point to be compared.&lt;/param&gt;
+ &lt;param name="p2"&gt;&lt;c&gt;p2&lt;/c&gt; is the second Point to be compared.&lt;/param&gt;
+ &lt;returns&gt;
+ True if the points do not have the same location and they
+ have the exact same type; otherwise, false.
+ &lt;/returns&gt;
+&lt;/method&gt;
+</pre>
+
+*** <a name="see">&lt;see&gt;</a>
+
+This tag allows a link to be specified within documentation text. (Use
+<code>&lt;seealso&gt;</code> to indicate links that should appear in a 'See Also' section.)
+
+**** Syntax
+
+<code>&lt;see cref="destination" /&gt;</code>
+
+<blockquote>
+<em>cref="destination"</em><br />
+A destination, such as a type or a member of a type.
+</blockquote>
+
+**** Example
+
+<pre>
+&lt;summary&gt;
+ This method changes the point's location to the given
+ coordinates. This is an asinine way to insert a link,
+ but &lt;see cref="Equals(Object)" /&gt; to understand
+ how points are compared.
+&lt;/summary&gt;
+</pre>
+
+*** <a name="seealso">&lt;seealso&gt;</a>
+
+This tag allows an entry to be generated for the 'See Also' section. (Use
+<code>&lt;see&gt;</code> to specify a link from within text.)
+
+**** Syntax
+
+<code>&lt;seealso cref="destination" /&gt;</code>
+
+<blockquote>
+<em>cref="destination"</em><br />
+A destination, such as a type or a member of a type.
+</blockquote>
+
+**** Example
+
+<pre>
+&lt;summary&gt;
+ This method determines whether two Points have the
+ same location.
+&lt;/summary&gt;
+&lt;seealso cref="op_Equality(Graphics.Point,Graphics.Point)" /&gt;
+&lt;seealso cref="op_Inequality(Graphics.Point,Graphics.Point" /&gt;
+</pre>
+
+*** <a name="summary">&lt;summary&gt;</a>
+
+This tag contains a short summary of a member or type,
+often one sentence. <em>[jbarn: This differs from both the ECMA docs and
+portions of Microsoft's documentation, but seems consistent with both
+common usage, and, more importantly, NDoc convention.]</em>
+
+**** Syntax
+
+<code>&lt;summary&gt;description&lt;/summary&gt;</code>
+
+**** Example
+
+<pre>
+&lt;summary&gt;
+ This is the entry point of the &lt;c&gt;Point&lt;/c&gt; class testing
+ program.
+&lt;/summary&gt;
+&lt;remarks&gt;
+ This program tests each method an operator, and is intended
+ to be run after any non-trivial maintenance is performed
+ on the &lt;c&gt;Point&lt;/c&gt; class.
+&lt;/remarks&gt;
+</pre>
+
+*** <a name="type">&lt;type&gt;</a>
+
+This tag is the overall containing tag for documenting a type.
+
+**** Syntax
+
+<code>&lttype name="typename" assembly="assemblyname"&gt;documentation&lt;/type&gt;</code>
+
+<blockquote>
+<em>name="typename"</em><br />
+The name of the type being documented.
+<br /><br />
+<em>assembly="assemblyname"</em><br />
+The assembly this type resides in. This attribute is not required for nested types.
+</blockquote>
+
+**** Example
+
+<pre>
+&lt;type name="Graphics.Point" assembly="Point"&gt;
+ &lt;summary&gt;
+ Models a point in two-dimensional space.
+ &lt;/summary&gt;
+
+ &lt;!-- members --&gt;
+
+ &lt;field name="x"&gt;
+ &lt;summary&gt;
+ Represents the point's x-coordinate.
+ &lt;/summary&gt;
+ &lt;/field&gt;
+&lt;/type&gt;
+</pre>
+
+** <a name="appendix-a">Appendix A: Complete Example</a>
+
+<em>[jbarn: Please, please, don't take the human-readable portions of
+this example to be good guidelines for writing your own documentation.
+this XML is intended only to show structure.</em>
+
+<pre>
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;doc lang="en"&gt;
+ &lt;type name="Graphics.Point" assembly="Point"&gt;
+ &lt;summary&gt;
+ Models a point in a two-dimensional plane.
+ &lt;/summary&gt;
+ &lt;remarks&gt;
+ No useful remarks.
+ &lt;/remarks&gt;
+
+ &lt;!-- fields --&gt;
+ &lt;field name="x"&gt;
+ &lt;summary&gt;
+ Instance variable &lt;c&gt;x&lt;/c&gt; represents the point's x-coordinate.
+ &lt;/summary&gt;
+ &lt;/field&gt;
+
+ &lt;field name="y"&gt;
+ &lt;summary&gt;
+ Instance variable &lt;c&gt;y&lt;/c&gt; represents the point's y-coordinate.
+ &lt;/summary&gt;
+ &lt;/field&gt;
+
+ &lt;!-- methods --&gt;
+ &lt;method name="#ctor"&gt;
+ &lt;summary&gt;
+ Initializes the new point to &lt;c&gt;(0,0)&lt;/c&gt;.
+ &lt;/summary&gt;
+ &lt;/method&gt;
+
+ &lt;method name="#ctor(System.Int32,System.Int32)"&gt;
+ &lt;summary&gt;
+ Initializes the new Point to (&lt;paramref name="xor" /&gt;,&lt;paramref name="yor" /&gt;).
+ &lt;/summary&gt;
+ &lt;param name="xor"&gt;&lt;c&gt;xor&lt;/c&gt; is the new x-coordinate.&lt;/param&gt;
+ &lt;param name="yor"&gt;&lt;c&gt;yor&lt;/c&gt; is the new y-coordinate.&lt;/param&gt;
+ &lt;/method&gt;
+
+ &lt;method name="Move(System.Int32,System.Int32)"&gt;
+ &lt;summary&gt;
+ This method changes the point's location to the given coordinates.
+ &lt;/summary&gt;
+ &lt;param name="xor"&gt;&lt;c&gt;xor&lt;/c&gt; is the new x-coordinate.&lt;/param&gt;
+ &lt;param name="yor"&gt;&lt;c&gt;yor&lt;/c&gt; is the new y-coordinate.&lt;/param&gt;
+ &lt;seealso cref="Translate(System.Int32,System.Int32)" /&gt;
+ &lt;/method&gt;
+
+ &lt;method name="Translate(System.Int32,System.Int32)"&gt;
+ &lt;summary&gt;This method changes the point's location by the given x- and y-offsets.&lt;/summary&gt;
+ &lt;remarks&gt;
+ &lt;example lang="C#"&gt;
+ A C# example:
+ &lt;code&gt;
+ Point p = new Point(3, 5);
+ p.Translate(-1, 3);
+ &lt;/code&gt;
+ This code results in &lt;c&gt;p&lt;/c&gt; having the value (2,8).
+ &lt;/example&gt;
+ &lt;/remarks&gt;
+ &lt;param name="xor"&gt;&lt;c&gt;xor&lt;/c&gt; is the relative x-offset.&lt;/param&gt;
+ &lt;param name="yor"&gt;&lt;c&gt;yor&lt;/c&gt; is the relative y-offset.&lt;/param&gt;
+ &lt;seealso cref="Move(System.Int32,System.Int32)" /&gt;
+ &lt;/method&gt;
+
+ &lt;method name="Equals(System.Object)"&gt;
+ &lt;summary&gt;This method determines whether two points have the same location.&lt;/summary&gt;
+ &lt;param name="o"&gt;&lt;c&gt;o&lt;/c&gt; is the object to be compared to the current object.&lt;/param&gt;
+ &lt;returns&gt;True if the Points have the same location and they have the exact same
+ type; otherwise, false.&lt;/returns&gt;
+ &lt;seealso cref="op_Equality(Graphics.Point,Graphics.Point)" /&gt;
+ &lt;seealso cref="op_Inequality(Graphics.Point,Graphics.Point" /&gt;
+ &lt;/method&gt;
+
+ &lt;method name="ToString"&gt;
+ &lt;summary&gt;Report a point's location as a string.&lt;/summary&gt;
+ &lt;returns&gt;A string representing a point's location, in the form (x,y), without any
+ leading, trailing, or embedded whitespace.&lt;/returns&gt;
+ &lt;/method&gt;
+
+ &lt;method name="op_Equality(Graphics.Point,Graphics.Point)"&gt;
+ &lt;summary&gt;This operator determines whether two points have the same location.&lt;/summary&gt;
+ &lt;param name="p1"&gt;&lt;c&gt;p1&lt;/c&gt; is the first Point to be compared.&lt;/param&gt;
+ &lt;param name="p2"&gt;&lt;c&gt;p2&lt;/c&gt; is the second Point to be compared.&lt;/param&gt;
+ &lt;returns&gt;True if the points have the same location and they have the exact same
+ type; otherwise, false.&lt;/returns&gt;
+ &lt;seealso cref="Equals(System.Object)" /&gt;
+ &lt;seealso cref="op_Inequality(Graphics.Point,Graphics.Point)" /&gt;
+ &lt;/method&gt;
+
+ &lt;method name="op_Inequality(Graphics.Point,Graphics.Point)"&gt;
+ &lt;summary&gt;This operator determines whether two points have the same location.&lt;/summary&gt;
+ &lt;param name="p1"&gt;&lt;c&gt;p1&lt;/c&gt; is the first Point to be compared.&lt;/param&gt;
+ &lt;param name="p2"&gt;&lt;c&gt;p2&lt;/c&gt; is the second Point to be compared.&lt;/param&gt;
+ &lt;returns&gt;True if the points do not have the same location and they have the exact same
+ type; otherwise, false.&lt;/returns&gt;
+ &lt;seealso cref="Equals(System.Object)" /&gt;
+ &lt;seealso cref="op_Equality(Graphics.Point,Graphics.Point)" /&gt;
+ &lt;/method&gt;
+
+ &lt;method name="Main"&gt;
+ &lt;summary&gt;
+ This is the entry point of the Point class testing program.
+ &lt;/summary&gt;
+ &lt;remarks&gt;
+ &lt;para&gt;This program tests each method and operator, and is intended to be run after
+ any non-trivial maintenance has been performed on the Point class.&lt;/para&gt;
+ &lt;/remarks&gt;
+ &lt;/method&gt;
+
+ &lt;!-- properties --&gt;
+ &lt;property name="X"&gt;
+ &lt;value&gt;Property &lt;c&gt;X&lt;/c&gt; represents the point's x-coordinate.&lt;/value&gt;
+ &lt;/property&gt;
+
+ &lt;property name="Y"&gt;
+ &lt;value&gt;Property &lt;c&gt;y&lt;/c&gt; represents the point's y-coordinate.&lt;/value&gt;
+ &lt;/property&gt;
+ &lt;/type&gt;
+&lt;/doc&gt;
+</pre>
+