A PropertySig is indexed by the Property.Type column. It captures the type information for a Property – essentially, the signature of its getter method:
-
the number of parameters supplied to its getter method
-
the base type of the Property (the type returned by its getter method)
-
type information for each parameter in the getter method (that is, the index parameters)
Note that the signatures of getter and setter are related precisely as follows:
-
The types of a getter's ParamCount parameters are exactly the same as the first ParamCount parameters of the setter
-
The return type of a getter is exactly the same as the type of the last parameter supplied to the setter
The syntax diagram for a PropertySig looks like this:
The first byte of the Signature holds bits for HASTHIS
and PROPERTY
. These are OR’d together.
Type specifies the type returned by the getter method for this property. Type is defined in §II.23.2.12.
Param is defined in §II.23.2.10.
ParamCount is a compressed unsigned integer that holds the number of index parameters in the getter methods (0 or more). (§II.23.2.1) (ParamCount counts just the method parameters – it does not include the method's base type of the Property)