Share via


IVsBooleanSymbolExpressionEvaluator.EvaluateExpression Method

Tests whether a set of symbols causes the expression to evaluate to true.

Namespace:  Microsoft.VisualStudio.Shell.Interop
Assemblies:   Microsoft.VisualStudio.Shell.Interop.11.0 (in Microsoft.VisualStudio.Shell.Interop.11.0.dll)
  Microsoft.VisualStudio.Shell.12.0 (in Microsoft.VisualStudio.Shell.12.0.dll)

Syntax

'Declaration
Function EvaluateExpression ( _
    wszExpression As String, _
    wszSymbols As String _
) As Boolean
bool EvaluateExpression(
    string wszExpression,
    string wszSymbols
)
bool EvaluateExpression(
    [InAttribute] String^ wszExpression, 
    [InAttribute] String^ wszSymbols
)
abstract EvaluateExpression : 
        wszExpression:string * 
        wszSymbols:string -> bool
function EvaluateExpression(
    wszExpression : String, 
    wszSymbols : String
) : boolean

Parameters

  • wszExpression
    Type: String

    [in, unique] The expression to evaluate, for example, P1 & P2 & (!P3 | P4). Null and empty are allowed and results in a true return value.

  • wszSymbols
    Type: String

    [in, unique] Space-delimited list of symbols that evaluate to true, using the same format as VSHPROPID_ProjectCapabilities. Null and empty are allowed and results in an empty set of project capabilities during evaluation.

Return Value

Type: Boolean
The result of the evaluation. true if the evaluation succeeded.

Remarks

Valid expression syntax is defined as:

  • The capability expression, such as "(VisualC | CSharp) + (MSTest | NUnit)".

  • The "|" is the OR operator.

  • The "&" and "+" characters are both AND operators.

  • The "!" character is the NOT operator.

  • Parentheses force evaluation precedence order.

  • A null or empty expression is evaluated as a match.

  • Project capabilities may be any character except these reserved characters: "'`:;,+-*/\!~|&%$@^()={}[]<>? \t\b\n\r

.NET Framework Security

See Also

Reference

IVsBooleanSymbolExpressionEvaluator Interface

Microsoft.VisualStudio.Shell.Interop Namespace