We welcome contributions to this repository!
Please note the code of conduct we require contributors to follow.
Raise an issue!: The easiest way to help us is just to let us know where we need to do some work.
Make a change yourself: We love pull-requests!
The content of the Docs
elements (summary
and remarks
elements) are the place for writing. The XML is based on the definition at this page.
- Namespace level docs: Edit the ns-{Namespace}.xml file in the docs/ directory.
- Type level docs: Every public class has a corresponding {Type}.xml file. The type-level documentation goes into
Docs
element that is a child of theType
element. - Member level docs: Within the {Type}.xml file, every member has a
Type/Members/Member
element, each of which contains aDocs
element.
Within the Docs
elements, you will likely be editing one or more of the following:
param
: Describes the associated method argument.value
: Describes the value returned by the member.summary
: A short description, as seen in IntelliSense. Generally less than 150 characters.remarks
: More substantive reference documentation, often including a short code snippet demonstrating use.
These elements all accept mixed content (text and XML). The [mdoc reference page](http://docs.go-mono.com/index.aspx?link=man:mdoc(5) describes the structure of the XML.
To link to other API documentation, you must use the
<see cref="{TargetTypeIndicator}:{FullyQualifiedName}"/>
element, not an HTML-style link.
{TargetTypeIndicator}
is one of:
'C' // Constructor
'E' // Event
'F' // Field
'M' // Method
'N' // Namespace
'P' // Property
'T' // Type
Note that the fully-qualified name of a method does not include parentheses if there are no arguments, but if there are, the argument types must be fully-qualified as well:
M:UIKit.UIView.MovedToWindow // No parentheses
M:UIKit.UIView.InsertSubview(UIKit.UIView,System.nint) //Fully-qualified types of arguments