Share via


ExpressionNode Class

The ExpressionNode object represents a policy-based management expression node. The expression node describes part of an expression, such as a constant value, an operator, or a function.

Inheritance Hierarchy

System.Object
  Microsoft.SqlServer.Management.Dmf.ExpressionNode
    Microsoft.SqlServer.Management.Dmf.ExpressionNodeAttribute
    Microsoft.SqlServer.Management.Dmf.ExpressionNodeChildren
    Microsoft.SqlServer.Management.Dmf.ExpressionNodeConstant

Namespace:  Microsoft.SqlServer.Management.Dmf
Assembly:  Microsoft.SqlServer.Dmf (in Microsoft.SqlServer.Dmf.dll)

Syntax

'Declaration
<StrongNameIdentityPermissionAttribute(SecurityAction.InheritanceDemand, PublicKey := "0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")> _
<StrongNameIdentityPermissionAttribute(SecurityAction.LinkDemand, PublicKey := "0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")> _
Public MustInherit Class ExpressionNode
'Usage
Dim instance As ExpressionNode
[StrongNameIdentityPermissionAttribute(SecurityAction.InheritanceDemand, PublicKey = "0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")]
[StrongNameIdentityPermissionAttribute(SecurityAction.LinkDemand, PublicKey = "0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")]
public abstract class ExpressionNode
[StrongNameIdentityPermissionAttribute(SecurityAction::InheritanceDemand, PublicKey = L"0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")]
[StrongNameIdentityPermissionAttribute(SecurityAction::LinkDemand, PublicKey = L"0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")]
public ref class ExpressionNode abstract
[<AbstractClassAttribute>]
[<StrongNameIdentityPermissionAttribute(SecurityAction.InheritanceDemand, PublicKey = "0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")>]
[<StrongNameIdentityPermissionAttribute(SecurityAction.LinkDemand, PublicKey = "0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")>]
type ExpressionNode =  class end
public abstract class ExpressionNode

The ExpressionNode type exposes the following members.

Constructors

  Name Description
Protected method ExpressionNode Initializes a new instance of the ExpressionNode class.

Top

Properties

  Name Description
Protected property LastEvaluationResult Gets or sets the result of the last evaluation.
Public property Tag Gets the tag text that is associated with the expression node.
Public property Type Gets the type of expression node.
Public property TypeClass Gets the class type when the expression node represents a constant value or a variable.

Top

Methods

  Name Description
Public methodStatic member ConstructNode Creates a new expression node.
Public methodStatic member ConvertFromFilterNode(FilterNode) Creates a new expression node by converting a filter node.
Public methodStatic member ConvertFromFilterNode(FilterNode, Type) Creates a new expression node by converting a filter node.
Protected methodStatic member ConvertFromString Converts a type from a string value.
Public method ConvertToFilterNode Creates a filter node by converting the expression node.
Protected methodStatic member ConvertToIntWithCheck Converts the specified string to an integer.
Protected methodStatic member ConvertToString Converts a type to a string value.
Public method DeepClone Creates a copy of the referenced object. This includes all its properties.
Public methodStatic member Deserialize(String) Deserializes an expression node from a string.
Public methodStatic member Deserialize(XmlReader) Deserializes an expression node from an XML reader.
Protected method DeserializeProperties Deserializes the properties in the expression from an XML reader.
Protected method DeserializeResult Deserializes the property results in the expression from an XML reader.
Public methodStatic member DeserializeWithResult Deserializes the expression node from a text string.
Protected method DoConvertToFilterNode Allows the conversion of expression node to filter mode.
Protected method DoEnumAttributes Deserializes the expression node from a list of text strings.
Public method EnumChildren Returns an enumerated list of dependent expression nodes.
Protected method EqualProperties Determines whether the properties of the specified object are equal to the properties of the current expression node.
Public method Equals Returns a Boolean value that specifies whether the referenced expression node object is equal to the specified object. (Overrides Object.Equals(Object).)
Public method Evaluate(FacetEvaluationContext) Evaluates the expression node with the given facet context.
Public method Evaluate(FacetEvaluationContext, Boolean) Evaluates the expression node with the given facet context and checks the script as a proxy.
Protected method Finalize (Inherited from Object.)
Public method GetHashCode Gets the hash code for the object. (Overrides Object.GetHashCode().)
Public method GetResult Gets the result that is returned when an expression is deserialized.
Public method GetResultString Gets the result in string format that is returned when an expression is deserialized.
Public method GetType (Inherited from Object.)
Public methodStatic member MatchType<T> Indicates the type of match to be used in the node.
Protected method MemberwiseClone (Inherited from Object.)
Protected methodStatic member MoveToElementWithCheck Moves the reader to the element with check.
Public methodStatic member Parse(String) Parses the specified expression string.
Public methodStatic member Parse(String, Type) Parses the specified string.
Protected methodStatic member ReadElementWithCheck Reads a named serialized element using the XML Reader and returns the value.
Protected method ReadEndElement Reads the end element in the expression node.
Protected methodStatic member ReadNodeWithCheck Reads the specified node with a checkmark.
Protected methodStatic member ReadSimpleNodeWithCheck Reads the specified elements, evaluated with the given expression node type, and read with the specified XML reader.
Protected methodStatic member ReadWithCheck Reads the expression node using the XML Reader.
Protected methodStatic member ResolveEnum Resolves the enumeration conflicts encountered during the process.
Public method Serialize Serializes the expression node to the specified XML Writer.
Public methodStatic member SerializeNode Serializes the expression node to a text string.
Public methodStatic member SerializeNodeWithResult Serializes the expression node to a text string.
Protected method SerializeProperties Serializes the properties in the expression to an XML writer.
Protected method SerializeResult Serializes the result in the expression node.
Protected method SetFilterNodeCompatible Sets the compatible filter node of the Boolean property.
Protected method SetHasScript Sets the Boolean value for the HasScript property.
Protected method SetNameConditionType Sets the name of the condition type property.
Protected method SetNodeType Indicates the type of node to be set.
Protected method SetObjectName Sets the name of the expression node.
Protected method SetProperties Sets property values.
Protected method SetTypeClass Sets type class for the expression node.
Public method ToString Returns the referenced object in string format. (Overrides Object.ToString().)
Public method ToStringForDisplay Returns the referenced object in string format for display.
Public method ToStringForUrn Returns the referenced object in URN format.

Top

Remarks

The expression node represents the conditional state that is applied to the facet. For example, if the facet is Database Mail, then the expression could be "is installed" or "is not installed". There are different types of expression that are individually represented using the Type property and each of these are represented in more detail with specific types, such as ExpressionNodeFunction or ExpressionNodeConstant.

Using the ExpressionNode object you can:

  • Create, modify, or delete an expression node that applies to the facet on a target object.

  • Parse the expression string to create a valid expression for the facet.

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.SqlServer.Management.Dmf Namespace