Share via


ParameterizedString Class

Represents a string that has embedded parameters.

Inheritance Hierarchy

Object
  Microsoft.TeamFoundation.TestManagement.Client.ParameterizedString

Namespace:  Microsoft.TeamFoundation.TestManagement.Client
Assembly:  Microsoft.TeamFoundation.TestManagement.Client (in Microsoft.TeamFoundation.TestManagement.Client.dll)

Syntax

'Declaration
Public Class ParameterizedString _
    Implements IEnumerable(Of ParameterizedStringPart), IEnumerable
public class ParameterizedString : IEnumerable<ParameterizedStringPart>, 
    IEnumerable
public ref class ParameterizedString : IEnumerable<ParameterizedStringPart>, 
    IEnumerable
type ParameterizedString =  
    class 
        interface IEnumerable<ParameterizedStringPart>
        interface IEnumerable 
    end
public class ParameterizedString implements IEnumerable<ParameterizedStringPart>, IEnumerable

The ParameterizedString type exposes the following members.

Constructors

  Name Description
Public method ParameterizedString() Initializes a new instance of the ParameterizedString class.
Public method ParameterizedString(String) Initializes a new instance of the ParameterizedString class by using the given string.
Public method ParameterizedString(XmlReader) Initializes a new instance of the ParameterizedString class by using the provided XML reader.
Public method ParameterizedString(IEnumerable<ParameterizedStringPart>) Initializes a new instance of the ParameterizedString class by using the provided list of parameter parts.

Top

Properties

  Name Description
Public property Count Gets the number of parts in the string.
Public propertyStatic member Empty Gets an empty parameterized string.
Public property FlowDocumentString
Public property Item Gets the parameter part at the given index of the list of parts.
Public property ParameterNames Gets a read-only collection of parameter names from the list of parameter parts.

Top

Methods

  Name Description
Public method Copy Returns a copy of this parameterized string.
Public method Equals(Object) Returns a value that indicates whether two objects are equal. (Overrides Object.Equals(Object).)
Public method Equals(ParameterizedString) Returns a value that indicates whether the provided parameterized string is equal to this parameterized string.
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodStatic member FromFlowDocument
Public method FromXml Loads the parameters by using the provided XML reader.
Public method GetEnumerator Returns an enumerator that iterates through the parameter parts collection of this parameterized string.
Public method GetHashCode Returns the hash code for this instance. (Overrides Object.GetHashCode.)
Public methodStatic member GetParameterNamingErrorMessage Returns the localized message to be returned for an attempt to add a parameter part by using an invalid parameter name.
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public methodStatic member IsValidParameterName Returns a value that indicates whether the provided name is a valid parameter name.
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method RenameParameter Renames the specified parameter by using the given new name and returns the changed parameterized string.
Public method ReplaceParameter Replaces the specified parameter value by using the given replacement text.
Public method ToPlainText
Public method ToString Returns this parameterized string object as a string. (Overrides Object.ToString.)
Public method ToXml Creates an XML representation of this parameterized string and saves it to the provided XML writer.

Top

Operators

  Name Description
Public operatorStatic member Equality Returns the operator to use in code for equality (==).
Public operatorStatic member Implicit(String to ParameterizedString) Converts a string to a parameterized string.
Public operatorStatic member Implicit(ParameterizedString to String) Returns an operator that can be used for implicit comparison of parameterized strings.
Public operatorStatic member Inequality Returns a value that indicates whether two objects are not equal.

Top

Fields

  Name Description
Public fieldStatic member ElementName Contains the name of the element to use when this parameterized string object is saved to XML.

Top

Explicit Interface Implementations

  Name Description
Explicit interface implemetationPrivate method IEnumerable.GetEnumerator Returns an enumerator that iterates through a collection.

Top

Remarks

There are two ways to examine such a string... one is as a flat string with embedded parameters, another is as a list of strings and parameter references (names) Rule 1: There is no such thing as an illegal string the parsing rules are intentionally generous Here are some example string forms, together with what they will parse to "Put the @@object on the @@support" -> "Put the ", object, " on the ", support Escaping is optional, if the character following the @ is not a valid identifier lead character, or the string ends in an @ sign, the text is treated as a literal "An @ sign on its own may be OK" -> "An @ sign on its own may be OK" A parameter name must comply with C# identifier rules so for example when parsing a parameter, we stop after the first space: "Log in with @@domain @@user" -> "Log in with ", domain, " ", user If there is literal text immediately following a parameter name, then it may have to be separated "The plural of @@WORD is @@WORD@@s" -> "The plural of ", WORD, " is", WORD, "s" Juxtaposing two parameters without intervening space also requires the terminating @@ sign Enter the compound word @@prefix@@suffix -> "Enter the compound word ", prefix, suffix After the parameter, a ? indicates that the parameter value to be treated as if it were null (even it has been previously set) In a manual test context, this means that in the next example SessionId will always be requested and the new value will be used, even if it had an old value "Check the value of the @?SessionId" Case is not significant for parameters names, in the following string the parameter called "TESTVALUE" is used two times "Enter the test @@TESTVALUE @@testvalue

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.TeamFoundation.TestManagement.Client Namespace

ParameterizedStringPart