I just spent way too much time figuring out that a tool parameter value such as:
is not a string but an object with a string property:
This is contrary to the description in the document
where the general rule is that "All properties and method parameters are either a string or a long data type, unless otherwise stated", but in the Parameter section, it says:
■–■ Value: Value
in purple with a link back to the Value section (if it is, in fact, the same class; currently that section is only linked from GetParameter(Index): Value )
I thought I should mention this issue here since I couldn't find any discussion of it, which suggests that most people are using another route to get this information such as GetParameter(Index).Value.Value, GetParameterAsText(Index), or just retyping Value with an assignment from a string. Unfortunately the default ToolValidator class sends one down the path of using GetParameterInfo(), hence my journey.
Hopefully this document will be corrected.