sealed class Tinman.Core.Cx.XmlDoc.CxXmlDocReference

Derived from

CxNode abstract

Represents the content of a cref attribute and references a type or member:

Referring to non-generic type or member:
<... cref="name">
Referring to generic type or member:
<... cref="name{T}">
<... cref="name{T1,T2,...}">
<... cref="name-a{T}.name-b">
<... cref="name-a{T1,T2,...}.name-b">
Referring to method:
<... cref="name()">
<... cref="name(T,...)">
<... cref="name-a{...}.name-b()">
<... cref="name-a{...}.name-b(T,...)">

where name corresponds to Name, {...} to Arguments, (…​) to Signature, name-a to CxName.Parent of Name and name-b to CxName.Last of Name.

See also


Public / Constructors


public constructor CxXmlDocReference → (3)

name in : CxName

See CxName.

arguments opt : int32 = 0

See Arguments.

signature opt : IBagConst<CxType> = null

See Signature.

Creates a new instance of CxXmlDocReference.

Public / Attributes


public attribute Arguments → (get)

value : int32

< 0 : negative argument count of the type of the method Name refers to,
= 0 : Name refers to a non-generic type or member,
> 0 : argument count of the type Name refers to.

Returns the number of generic type arguments of the type referred to by Name.

Generic type arguments may be named arbitrarily, as only the count is used to disambiguate between generic types of the same name. By convention, type arguments should be named T1, T2, …​ Tn or just T if n is 1.


public attribute Name → (get)

value : CxName

The name of the referenced type or member.

Returns the name of the referenced type or member.


public attribute Signature → (get)

value : IVector<CxType>

The list of method parameter types or null if this is not an explicit reference to a method.

Returns the list of method parameter types.

The parameter type list is used to choose a method from the method family referred to by Name.