SwitchCase Class
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Represents one case of a SwitchExpression.
Assembly: System.Core (in System.Core.dll)
The SwitchCase type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | Body | Gets the body of this case. |
![]() | TestValues | Gets the values of this case. This case is selected for execution when the SwitchValue matches any of these values. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ToString | Returns a String that represents the current Object. (Overrides Object.ToString().) |
![]() | Update | Creates a new expression that is like this one, but using the supplied children. If all of the children are the same, it will return this expression. |
The following example demonstrates how to create an expression that represents a switch statement without a default case by using the SwitchCase method.
// Add the following directive to the file: // using System.Linq.Expressions; // An expression that represents the switch value. ConstantExpression switchValue = Expression.Constant(2); // This expression represents a switch statement // without a default case. SwitchExpression switchExpr = Expression.Switch( switchValue, new SwitchCase[] { Expression.SwitchCase( Expression.Call( null, typeof(Console).GetMethod("WriteLine", new Type[] { typeof(String) }), Expression.Constant("First") ), Expression.Constant(1) ), Expression.SwitchCase( Expression.Call( null, typeof(Console).GetMethod("WriteLine", new Type[] { typeof(String) }), Expression.Constant("Second") ), Expression.Constant(2) ) } ); // The following statement first creates an expression tree, // then compiles it, and then runs it. Expression.Lambda<Action>(switchExpr).Compile()(); // This code example produces the following output: // // Second
Show:


