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

instead of

■–■ 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.

-- Andy