* SqlConnection.cs: Use null as default value for connectionString
[mono.git] / web / monodoc-xml
1 * MonoDoc XML Tag Reference
2
3 ** Introduction
4
5 <em>
6 [This documentation is in progress.  Comments to
7 <a href="mailto:jbarn@httcb.net">jbarn@httcb.net</a> and/or
8 <a href="mailto:mono-docs-list@ximian.com">mono-docs-list@ximian.com</a>.]
9 </em>
10
11 MonoDoc XML, our format for multilingual API documentation stored outside of
12 source files, is very similar to the output of Microsoft's csc /doc.  Minor
13 alterations have been made to ease human parsing and hand-editing, but
14 the majority of the tags are identical.  In fact, many of the descriptions
15 and examples below are taken from the ECMA C# Language Specification with
16 little or no alteration.
17
18 This document provides a list of all available MonoDoc XML tags, with
19 syntax and examples.  A complete example can be found in
20 <a href="#appendix-a">Appendix A</a>, and both a <a href="#">DTD</a> and
21 <a href="#">XSD schema</a> will be available very shortly.
22
23 ** MonoDoc XML Tags
24
25 <dl>
26 <dt><code><a href="#c">&lt;c&gt;</a></code></dt>
27 <dd>Mark short sections of text as code.</dd>
28
29 <dt><code><code><a href="#code">&lt;code&gt;</a></code></dt></code>
30 <dd>Mark one or more lines as code or output.</dd>
31
32 <dt><code><a href="#doc">&lt;doc&gt;</a></dt></code>
33 <dd>Root element of documentation XML.</dd>
34
35 <dt><code><a href="#event">&lt;event&gt;</a></dt></code>
36 <dd>Describe an event.</dd>
37
38 <dt><code><a href="#example">&lt;example&gt;</a></dt></code>
39 <dd>An example.</dd>
40
41 <dt><code><a href="#exception">&lt;exception&gt;</a></dt></code>
42 <dd>Specify an exception a method can throw.</dd>
43
44 <dt><code><a href="#field">&lt;field&gt;</a></dt></code>
45 <dd>Describe a field.</dd>
46
47 <dt><code><a href="#list">&lt;list&gt;</a></dt></code>
48 <dd>Create a list or table.</dd>
49
50 <dt><code><a href="#method">&lt;method&gt;</a></dt></code>
51 <dd>Describe a method.</dd>
52
53 <dt><code><a href="#para">&lt;para&gt;</a></dt></code>
54 <dd>Allow text to be structured in paragraphs.</dd>
55
56 <dt><code><a href="#param">&lt;param&gt;</a></dt></code>
57 <dd>Specify a parameter for a method.</dd>
58
59 <dt><code><a href="#paramref">&lt;paramref&gt;</a></dt></code>
60 <dd>Mark a word as a parameter.</dd>
61
62 <dt><code><a href="#permission">&lt;permission&gt;</a></dt></code>              
63 <dd>Define the access level of a member.</dd>
64
65 <dt><code><a href="#property">&lt;property&gt;</a></dt></code>
66 <dd>Describe a property.</dd>
67
68 <dt><code><a href="#remarks">&lt;remarks&gt;</a></dt></code>
69 <dd>Provide verbose information for a type or member.</dd>
70
71 <dt><code><a href="#returns">&lt;returns&gt;</a></dt></code>
72 <dd>Specify the return value of a method.</dd>
73
74 <dt><code><a href="#see">&lt;see&gt;</a></dt></code>
75 <dd>Specify a link.</dd>
76
77 <dt><code><a href="#seealso">&lt;seealso&gt;</a></dt></code>
78 <dd>Specify a 'see also' entry.</dd>
79
80 <dt><code><a href="#summary">&lt;summary&gt;</a></dt></code>
81 <dd>Provide a brief (usually one sentence) description of a member or type.</dd>
82
83 <dt><code><a href="#type">&lt;type&gt;</a></dt></code>
84 <dd>Describe a type.</dd>
85 </dl>
86
87 ** Definitions and Examples
88
89 *** <a name="c">&lt;c&gt;</a>
90
91 This tag can be used to mark short, inline fragments of text that should 
92 be considered source code or program output.  User agents should render 
93 this tag in a special -- likely monospace -- font.  For larger sections, 
94 use <a href="#code"><code>&lt;code&gt;</code></a>.
95
96 **** Syntax
97
98 <pre>
99 &lt;c&gt;code or output text&lt;/c&gt;
100 </pre>
101
102 **** Example
103
104 <pre>   
105 &lt;remarks&gt;
106     Class &lt;c&gt;Point&lt;/c&gt; models a point in two-dimensional space.
107 &lt;/remarks&gt;
108 </pre>
109
110 *** <a name="code">&lt;code&gt;</a>
111
112 This tag can be used to mark one or more lines of text as source code or 
113 program output.  User agents should render this tag in a special (likely 
114 monospace) font, and preserve both whitespace and newlines.
115
116 **** Syntax
117
118         <code>&lt;code&gt;source or program output&lt;/code&gt;</code>
119
120 **** Example
121
122 <pre>
123 &lt;summary&gt;
124     This method changes the point's location by the given
125     x- and y-offsets.
126     &lt;example lang="C#"&gt;
127         A C# example:
128         &lt;code&gt;
129             Point p = new Point(3, 5);
130             p.Translate(-1, 3);
131             // p == (2, 8);
132         &lt;/code&gt;
133     &lt;/example&gt;
134 &lt;/summary&gt;
135 </pre>
136
137 *** <a name="doc">&lt;doc&gt;</a>
138
139 This tag is the root element of the documentation file.  It can contain 
140 any number of &lt;type&gt; elements.
141
142 **** Syntax
143
144 <code>&lt;doc lang="language" assembly="assembly"&gt;typedocs&lt;/doc&gt;</code>
145
146 <blockquote>
147 <em>lang="language"</em><br />
148 The two-letter ISO code that specifies what language the contained
149 documentation is written in.
150 </blockquote>
151
152 **** Example
153
154 <pre>
155 &lt;doc lang="en"&gt;
156     &lt;type name="Graphics.Point"&gt;
157         &lt;!-- ... --&gt;
158     &lt;/type&gt;
159 &lt;/doc&gt; 
160 </pre>
161
162 *** <a name="event">&lt;event&gt;</a>
163
164 This tag documents an event.
165
166 **** Syntax
167
168 <code>&lt;event name="eventname"&gt;documentation&lt;/event&gt;</code>
169
170 <blockquote>
171 <em>name="eventname"</em><br />
172 The name of the event being documented.
173 </blockquote>
174                 
175 **** Example
176
177 <pre>
178 &lt;event name="Click"&gt;
179     &lt;summary&gt;
180         Occurs when the control is clicked.
181     &lt;/summary&gt;
182     &lt;data&gt;
183         The event handler receives an argument of type EventArgs
184         containing data related to this event.
185     &lt;/data&gt;
186     &lt;remarks&gt;
187         &lt;para&gt;The ControlStyles.StandardClick style must be set 
188         for this event to be raised.&lt;/para&gt;
189         &lt;para&gt;For more information about handling events, see 
190         Consuming Events.&lt;/para&gt;
191     &lt;/remarks&gt;
192 &lt;/event&gt;
193 </pre>
194
195 *** <a name="example">&lt;example&gt;</a>
196
197 This tag marks a section of text as an example, and optionally specifies 
198 what programming language <code><a href="#code">&lt;code&gt;</a></code> portions of the example are written in.
199
200 **** Syntax
201
202 <code><example lang="language">example text and code</example></code>
203
204 <blockquote>
205 <em>lang="language"</em><br />
206 (optional) The name of the programming language <code><a href="#code">&lt;code&gt;</a></code> blocks in this example
207 use.  This information can be used by user agents to provide
208 intelligent access to examples in multiple languages.
209 </blockquote>
210
211 **** Example
212
213 See <code><a href="#code">&lt;code&gt;<a/></code> for an example.
214
215 *** <a name="exception">&lt;exception&gt;</a>
216
217 This tag provides a way to specify the exceptions a method can throw.
218
219 **** Syntax
220
221 <code>&lt;exception cref="exception-type"&gt;description&lt;/exception&gt;</code>
222
223 <blockquote>
224 <em>cref="exception-type"</em><br />
225 The name of an exception type.
226 </blockquote>
227
228 **** Example
229
230 <pre>
231 &lt;exception cref="System.IO.FileNotFoundException"&gt;
232     Thrown when the requested file is not found.
233 &lt;/exception&gt;
234 </pre>
235
236 *** <a name="field">&lt;field&gt;</a>
237
238 This tag is used to describe a field.
239
240 **** Syntax
241
242 <code>&lt;field name="fieldname"&gt;documentation&lt;/field&gt;</code>
243
244 <blockquote>
245 <em>name="fieldname"</em><br />
246 The name of the field being documented.
247 </blockquote>
248         
249 **** Example
250
251 <pre>
252 &lt;field name="x"&gt;
253     &lt;summary&gt;
254         Instance variable &lt;c&gt;x&lt;/c&gt; represents the point's 
255         x-coordinate.
256     &lt;/summary&gt;
257 &lt;/field&gt;
258 </pre>
259
260 *** <a name="list">&lt;list&gt;</a>
261
262 This tag is used to create a list or table of items.  It may contain a 
263 <code>&lt;listheader&gt;</code> block to define the heading row of either a table or 
264 definition list.  (When defining a table, only an entry for 'term' in the 
265 heading need be supplied.)
266
267 Each item in the list is specified with an <code>&lt;item&gt;</code> block.  When creating a 
268 definition list, both <code>&lt;term&gt;</code> and <code>&ltdescription&gt;</code> must be specified.  
269 However, for a table, bulleted list, or numbered list, only <code>&lt;description&gt;</code>
270 need be specified.
271
272 **** Syntax
273
274 <pre>
275 &lt;list type="bullet" | "number" | "table"&gt;
276    &lt;listheader&gt;
277        &lt;term&gt;term&lt;/term&gt;
278        &lt;description&gt;description&lt;/description&gt;
279    &lt;/listheader&gt;
280    &lt;item&gt;
281        &lt;term&gt;term&lt;/term&gt;
282        &lt;description&gt;description&lt;/description&gt;
283    &lt;/item&gt;
284    
285    ...
286   
287 &lt;/list&gt;
288 </pre>
289         
290 <blockquote>
291 <em>term</em><br />
292 The term to define, whose definition is in <code>&lt;description&gt;</code>.
293 <br /><br />    
294 <em>description</em><br />
295 Either an item in a bullet or numbered list, or the definition of a <code>&lt;term&gt;</code>.
296 </blockquote>
297
298 **** Example
299
300 <pre>
301 &lt;list type="bullet"&gt;
302     &lt;item&gt;
303         &lt;description&gt;Item 1&lt;/description&gt;
304     &lt;/item&gt;
305     &lt;item&gt;
306         &lt;description&gt;Item 2&lt;/description&gt;
307     &lt;/item&gt;
308 &lt;/list&gt;
309 </pre>
310
311 *** <a name="method">&lt;method&gt;</a>
312
313 This tag is the overall containing tag for documenting a method.
314
315 **** Syntax
316
317 <code>&lt;method name="methodname"&gt;documentation&lt;/method&gt;</code>
318
319 **** Example
320
321 <pre>
322 &lt;method name="op_Equality(Graphics.Point,Graphics.Point)"&gt;
323     &lt;summary&gt;
324         This operator determines whether two points have
325         the same location.
326     &lt;/summary&gt;
327     &lt;param name="p1"&gt;
328         &lt;c&gt;p1&lt;/c&gt; is the first Point to be compared.
329     &lt;/param&gt;
330     &lt;param name="p2"&gt;
331         &lt;c&gt;p2&lt;/c&gt; is the second Point to be compared.
332     &lt;/param&gt;
333     &lt;returns&gt;
334         True if the points have the same location and they
335         have the exact same type; otherwise, false.
336     &lt;/returns&gt;
337     &lt;seealso cref="Equals(System.Object)" /&gt;
338     &lt;seealso cref="op_Inequality(Graphics.Point,Graphics.Point)" /&gt;
339 &lt;/method&gt;
340 </pre>
341
342 *** <a name="para">&lt;para&gt;</a>
343
344
345 This tag is for use inside other tags such as <code>&lt;remarks&gt;</code> or <code>&lt;returns&gt;</code>, and 
346 allows text to be structured into paragraphs.
347
348 **** Syntax
349
350 <code>&lt;para&gt;text&lt;/para&gt;</code>
351
352 **** Example
353
354 <pre>
355 &lt;summary&gt;
356     &lt;para&gt;
357     This is the entry point of the &lt;c&gt;Point&lt;/c&gt; class testing 
358     program.
359     &lt;/para&gt;
360     &lt;para&gt;
361     This program tests each method and operator, and
362     is intended to be run after any non-trivial maintenance has
363     been performed on the &lt;c&gt;Point&lt;/c&gt; class.
364     &lt;/para&gt;
365 &lt;/summary&gt;
366 </pre>
367
368 *** <a name="param">&lt;param&gt;</a>
369
370 This tag is used to describe a parameter for a method, constructor, or 
371 indexer.
372
373 **** Syntax
374
375 <code>&lt;param name="name"&gt;description&lt;/param&gt;</code>
376         
377 <blockquote>
378 <em>name</em><br />
379 The name of the parameter.
380 </blockquote>
381
382 **** Example
383
384 <pre>
385 &lt;summary&gt;
386     This is the entry point of the &lt;c&gt;Point&lt;/c&gt; 
387     class.
388 &lt;/summary&gt;
389 &lt;param name="xor"&gt;&lt;c&gt;xor&lt;/c&gt; is the new x-coordinate.&lt;/param&gt;
390 &lt;param name "yor"&gt;&lt;c&gt;yor&lt;/c&gt; is the new y-coordinate.&lt;/param&gt;
391 </pre>
392
393 *** <a name="paramref">&lt;paramref&gt;</a>
394
395 This tag is used to indicate that a word is a parameter.  User agents 
396 could use this information for special formatting or hyperlink insertion.
397
398 **** Syntax
399
400 <code>&lt;paramref name="name" /&gt;</code>
401
402 <blockquote>
403 <em>name</em><br />
404 The name of the parameter.
405 </blockquote>
406
407 **** Example
408
409 <pre>
410 &lt;summary&gt;
411     This constructor initializes the new Point to
412     (&lt;paramref name="xor" /&gt;,&lt;paramref name="yor" /&gt;).
413 &lt;/summary&gt;
414 &lt;param name="xor"&gt;&lt;c&gt;xor&lt;/c&gt; is the new x-coordinate.&lt;/param&gt;
415 &lt;param name "yor"&gt;&lt;c&gt;yor&lt;/c&gt; is the new y-coordinate.&lt;/param&gt;
416 </pre>
417
418 *** <a name="permission">&lt;permission&gt;</a>
419
420 This tag allows the security accessibility of a member to be documented.
421
422 **** Syntax
423
424 <code>&lt;permission cref="member"&gt;description&lt;/permission&gt;</code>
425
426 <blockquote>
427 <em>cref="member"</em><br />
428 The name of a member.</br>
429 </blockquote>
430
431 **** Example
432
433 <pre>
434 &lt;permission cref="System.Security.PermissionSet"&gt;
435     Everyone can access this method.
436 &lt;/permission&gt;
437 </pre>        
438
439 *** <a name="property">&ltproperty&gt;</a>
440
441 This tag is the overall containing tag for documenting a property.
442
443 **** Syntax
444
445 <code>&lt;property name="propertyname"&gt;documentation&lt;/property&gt;</code>
446
447 <blockquote>
448 <em>name="propertyname"</em><br />
449 The name of the property.
450 </blockquote>
451
452 **** Example
453
454 <pre>
455 &lt;property name="X"&gt;
456     &lt;summary&gt;
457         Gets or sets the point's x-coordinate.
458     &lt;value&gt;
459         The point's x-coordinate.
460     &lt;/value&gt;
461 &lt;/property&gt;
462 </pre>
463
464
465 *** <a name="remarks">&lt;remarks&gt;</a>
466
467 This tag contains extended discussion and information about a member or
468 a type. <em>[jbarn: This differs from both the ECMA docs and 
469 portions of Microsoft's documentation, but seems consistent with both 
470 common usage, and, more importantly, NDoc convention.]</em>
471
472 **** Syntax
473
474 <code>&lt;remarks&gt;description&lt;/remarks&gt;</code>
475         
476 **** Example
477
478 <pre>
479 &lt;type name="Graphics.Point"&gt;
480     &lt;summary&gt;
481         Models a point in a two-dimensional plane.
482     &lt;/summary&gt;
483     &lt;remarks&gt;
484         Herein I might have an extended discussion of
485         the validity of Cartesian coordinate systems,
486         with examples pro and con, and perhaps
487         some code.
488     &lt;/remarks&gt;
489     
490     &lt;!-- ... --&gt;
491 &lt;/type&gt;
492 </pre>
493
494 *** <a name="returns">&lt;returns&gt;</a>
495
496 This tag is used to describe the return value of a method.
497
498 **** Syntax
499
500 <code>&lt;returns&gt;description&lt;/returns&gt;</code>
501
502 **** Example
503
504 <pre>
505 &lt;method name="op_Inequality(Graphics.Point,Graphics.Point)"&gt;
506     &lt;summary&gt;
507         This operator determines whether two points have the
508         same location.
509     &lt;/summary&gt;
510     &lt;param name="p1"&gt;&lt;c&gt;p1&lt;/c&gt; is the first Point to be compared.&lt;/param&gt;
511     &lt;param name="p2"&gt;&lt;c&gt;p2&lt;/c&gt; is the second Point to be compared.&lt;/param&gt;
512     &lt;returns&gt;
513         True if the points do not have the same location and they
514         have the exact same type; otherwise, false.
515     &lt;/returns&gt;
516 &lt;/method&gt;
517 </pre>
518
519 *** <a name="see">&lt;see&gt;</a>
520
521 This tag allows a link to be specified within documentation text.  (Use 
522 <code>&lt;seealso&gt;</code> to indicate links that should appear in a 'See Also' section.)
523
524 **** Syntax
525
526 <code>&lt;see cref="destination" /&gt;</code>
527
528 <blockquote>
529 <em>cref="destination"</em><br />
530 A destination, such as a type or a member of a type.
531 </blockquote>
532
533 **** Example
534
535 <pre>
536 &lt;summary&gt;
537     This method changes the point's location to the given
538     coordinates.  This is an asinine way to insert a link,
539     but &lt;see cref="Equals(Object)" /&gt; to understand
540     how points are compared.
541 &lt;/summary&gt;
542 </pre>  
543
544 *** <a name="seealso">&lt;seealso&gt;</a>
545
546 This tag allows an entry to be generated for the 'See Also' section.  (Use 
547 <code>&lt;see&gt;</code> to specify a link from within text.)
548
549 **** Syntax
550
551 <code>&lt;seealso cref="destination" /&gt;</code>
552         
553 <blockquote>
554 <em>cref="destination"</em><br />
555 A destination, such as a type or a member of a type.
556 </blockquote>
557
558 **** Example
559
560 <pre>
561 &lt;summary&gt;
562     This method determines whether two Points have the
563     same location.
564 &lt;/summary&gt;
565 &lt;seealso cref="op_Equality(Graphics.Point,Graphics.Point)" /&gt;
566 &lt;seealso cref="op_Inequality(Graphics.Point,Graphics.Point" /&gt;
567 </pre>
568
569 *** <a name="summary">&lt;summary&gt;</a>
570
571 This tag contains a short summary of a member or type, 
572 often one sentence. <em>[jbarn: This differs from both the ECMA docs and 
573 portions of Microsoft's documentation, but seems consistent with both 
574 common usage, and, more importantly, NDoc convention.]</em>
575
576 **** Syntax
577
578 <code>&lt;summary&gt;description&lt;/summary&gt;</code>
579
580 **** Example
581
582 <pre>
583 &lt;summary&gt;
584     This is the entry point of the &lt;c&gt;Point&lt;/c&gt; class testing
585     program.
586 &lt;/summary&gt;
587 &lt;remarks&gt;
588     This program tests each method an operator, and is intended
589     to be run after any non-trivial maintenance is performed
590     on the &lt;c&gt;Point&lt;/c&gt; class.
591 &lt;/remarks&gt;
592 </pre>
593
594 *** <a name="type">&lt;type&gt;</a>
595
596 This tag is the overall containing tag for documenting a type.
597
598 **** Syntax
599
600 <code>&lttype name="typename" assembly="assemblyname"&gt;documentation&lt;/type&gt;</code>
601
602 <blockquote>
603 <em>name="typename"</em><br />
604 The name of the type being documented.
605 <br /><br />
606 <em>assembly="assemblyname"</em><br />
607 The assembly this type resides in.  This attribute is not required for nested types.
608 </blockquote>
609
610 **** Example
611
612 <pre>
613 &lt;type name="Graphics.Point" assembly="Point"&gt;
614     &lt;summary&gt;
615         Models a point in two-dimensional space.
616     &lt;/summary&gt;
617     
618     &lt;!-- members --&gt;
619     
620     &lt;field name="x"&gt;
621         &lt;summary&gt;
622             Represents the point's x-coordinate.
623         &lt;/summary&gt;
624     &lt;/field&gt;
625 &lt;/type&gt;
626 </pre>
627
628 ** <a name="appendix-a">Appendix A: Complete Example</a>
629
630 <em>[jbarn: Please, please, don't take the human-readable portions of
631 this example to be good guidelines for writing your own documentation.
632 this XML is intended only to show structure.]</em>
633
634 <pre>
635 &lt;?xml version="1.0" encoding="UTF-8"?&gt;
636 &lt;doc lang="en"&gt;
637     &lt;type name="Graphics.Point" assembly="Point"&gt;
638         &lt;summary&gt;
639             Models a point in a two-dimensional plane.
640         &lt;/summary&gt;
641         &lt;remarks&gt;
642             No useful remarks.
643         &lt;/remarks&gt;
644         
645         &lt;!-- fields --&gt;
646         &lt;field name="x"&gt;
647             &lt;summary&gt;
648                 Instance variable &lt;c&gt;x&lt;/c&gt; represents the point's x-coordinate.
649             &lt;/summary&gt;
650         &lt;/field&gt;
651         
652         &lt;field name="y"&gt;
653             &lt;summary&gt;
654                 Instance variable &lt;c&gt;y&lt;/c&gt; represents the point's y-coordinate.
655             &lt;/summary&gt;
656         &lt;/field&gt;
657         
658         &lt;!-- methods --&gt;
659         &lt;method name="#ctor"&gt;
660             &lt;summary&gt;
661                 Initializes the new point to &lt;c&gt;(0,0)&lt;/c&gt;.
662             &lt;/summary&gt;
663         &lt;/method&gt;
664         
665         &lt;method name="#ctor(System.Int32,System.Int32)"&gt;
666             &lt;summary&gt;
667                 Initializes the new Point to (&lt;paramref name="xor" /&gt;,&lt;paramref name="yor" /&gt;).
668             &lt;/summary&gt;
669             &lt;param name="xor"&gt;&lt;c&gt;xor&lt;/c&gt; is the new x-coordinate.&lt;/param&gt;
670             &lt;param name="yor"&gt;&lt;c&gt;yor&lt;/c&gt; is the new y-coordinate.&lt;/param&gt;
671         &lt;/method&gt;
672         
673         &lt;method name="Move(System.Int32,System.Int32)"&gt;
674             &lt;summary&gt;
675                 This method changes the point's location to the given coordinates.
676             &lt;/summary&gt;
677             &lt;param name="xor"&gt;&lt;c&gt;xor&lt;/c&gt; is the new x-coordinate.&lt;/param&gt;
678             &lt;param name="yor"&gt;&lt;c&gt;yor&lt;/c&gt; is the new y-coordinate.&lt;/param&gt;
679             &lt;seealso cref="Translate(System.Int32,System.Int32)" /&gt;
680         &lt;/method&gt;
681         
682         &lt;method name="Translate(System.Int32,System.Int32)"&gt;
683             &lt;summary&gt;This method changes the point's location by the given x- and y-offsets.&lt;/summary&gt;
684             &lt;remarks&gt;
685                 &lt;example lang="C#"&gt;
686                     A C# example:
687                         &lt;code&gt;
688                             Point p = new Point(3, 5);
689                             p.Translate(-1, 3);
690                         &lt;/code&gt;
691                     This code results in &lt;c&gt;p&lt;/c&gt; having the value (2,8).
692                 &lt;/example&gt;
693             &lt;/remarks&gt;
694             &lt;param name="xor"&gt;&lt;c&gt;xor&lt;/c&gt; is the relative x-offset.&lt;/param&gt;
695             &lt;param name="yor"&gt;&lt;c&gt;yor&lt;/c&gt; is the relative y-offset.&lt;/param&gt;
696             &lt;seealso cref="Move(System.Int32,System.Int32)" /&gt;
697         &lt;/method&gt;
698         
699         &lt;method name="Equals(System.Object)"&gt;
700             &lt;summary&gt;This method determines whether two points have the same location.&lt;/summary&gt;
701             &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;
702             &lt;returns&gt;True if the Points have the same location and they have the exact same
703             type; otherwise, false.&lt;/returns&gt;
704             &lt;seealso cref="op_Equality(Graphics.Point,Graphics.Point)" /&gt;
705             &lt;seealso cref="op_Inequality(Graphics.Point,Graphics.Point" /&gt;
706         &lt;/method&gt;
707         
708         &lt;method name="ToString"&gt;
709             &lt;summary&gt;Report a point's location as a string.&lt;/summary&gt;
710             &lt;returns&gt;A string representing a point's location, in the form (x,y), without any
711             leading, trailing, or embedded whitespace.&lt;/returns&gt;
712         &lt;/method&gt;
713         
714         &lt;method name="op_Equality(Graphics.Point,Graphics.Point)"&gt;
715             &lt;summary&gt;This operator determines whether two points have the same location.&lt;/summary&gt;
716             &lt;param name="p1"&gt;&lt;c&gt;p1&lt;/c&gt; is the first Point to be compared.&lt;/param&gt;
717             &lt;param name="p2"&gt;&lt;c&gt;p2&lt;/c&gt; is the second Point to be compared.&lt;/param&gt;
718             &lt;returns&gt;True if the points have the same location and they have the exact same
719             type; otherwise, false.&lt;/returns&gt;
720             &lt;seealso cref="Equals(System.Object)" /&gt;
721             &lt;seealso cref="op_Inequality(Graphics.Point,Graphics.Point)" /&gt;
722         &lt;/method&gt;
723
724         &lt;method name="op_Inequality(Graphics.Point,Graphics.Point)"&gt;
725             &lt;summary&gt;This operator determines whether two points have the same location.&lt;/summary&gt;
726             &lt;param name="p1"&gt;&lt;c&gt;p1&lt;/c&gt; is the first Point to be compared.&lt;/param&gt;
727             &lt;param name="p2"&gt;&lt;c&gt;p2&lt;/c&gt; is the second Point to be compared.&lt;/param&gt;
728             &lt;returns&gt;True if the points do not have the same location and they have the exact same
729             type; otherwise, false.&lt;/returns&gt;
730             &lt;seealso cref="Equals(System.Object)" /&gt;
731             &lt;seealso cref="op_Equality(Graphics.Point,Graphics.Point)" /&gt;
732         &lt;/method&gt;
733         
734         &lt;method name="Main"&gt;
735             &lt;summary&gt;
736                 This is the entry point of the Point class testing program.
737             &lt;/summary&gt;
738             &lt;remarks&gt;
739                 &lt;para&gt;This program tests each method and operator, and is intended to be run after
740                 any non-trivial maintenance has been performed on the Point class.&lt;/para&gt;
741             &lt;/remarks&gt;
742         &lt;/method&gt;
743         
744         &lt;!-- properties --&gt;
745         &lt;property name="X"&gt;
746             &lt;value&gt;Property &lt;c&gt;X&lt;/c&gt; represents the point's x-coordinate.&lt;/value&gt;
747         &lt;/property&gt;
748         
749         &lt;property name="Y"&gt;
750             &lt;value&gt;Property &lt;c&gt;y&lt;/c&gt; represents the point's y-coordinate.&lt;/value&gt;
751         &lt;/property&gt;
752     &lt;/type&gt;
753 &lt;/doc&gt;
754 </pre>
755