Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / Microsoft / Scripting / Ast / SwitchCase.cs / 1305376 / SwitchCase.cs
/* **************************************************************************** * * Copyright (c) Microsoft Corporation. * * This source code is subject to terms and conditions of the Microsoft Public License. A * copy of the license can be found in the License.html file at the root of this distribution. If * you cannot locate the Microsoft Public License, please send an email to * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound * by the terms of the Microsoft Public License. * * You must not remove this notice, or any other, from this software. * * * ***************************************************************************/ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.Dynamic.Utils; namespace System.Linq.Expressions { ////// Represents one case of a #if !SILVERLIGHT [DebuggerTypeProxy(typeof(Expression.SwitchCaseProxy))] #endif public sealed class SwitchCase { private readonly ReadOnlyCollection. /// _testValues; private readonly Expression _body; internal SwitchCase(Expression body, ReadOnlyCollection testValues) { _body = body; _testValues = testValues; } /// /// Gets the values of this case. This case is selected for execution when the public ReadOnlyCollectionmatches any of these values. /// TestValues { get { return _testValues; } } /// /// Gets the body of this case. /// public Expression Body { get { return _body; } } ////// Returns a ///that represents the current . /// A public override string ToString() { return ExpressionStringBuilder.SwitchCaseToString(this); } ///that represents the current . /// 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. /// /// Theproperty of the result. /// The property of the result. /// This expression if no children changed, or an expression with the updated children. public SwitchCase Update(IEnumerabletestValues, Expression body) { if (testValues == TestValues && body == Body) { return this; } return Expression.SwitchCase(body, testValues); } } public partial class Expression { /// /// Creates a /// The body of the case. /// The test values of the case. ///SwitchCase for use in a. /// The created public static SwitchCase SwitchCase(Expression body, params Expression[] testValues) { return SwitchCase(body, (IEnumerableSwitchCase .)testValues); } /// /// Creates a /// The body of the case. /// The test values of the case. ///SwitchCase for use in a. /// The created public static SwitchCase SwitchCase(Expression body, IEnumerableSwitchCase .testValues) { RequiresCanRead(body, "body"); var values = testValues.ToReadOnly(); RequiresCanRead(values, "testValues"); ContractUtils.RequiresNotEmpty(values, "testValues"); return new SwitchCase(body, values); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataSourceCacheDurationConverter.cs
- Annotation.cs
- ManagementPath.cs
- XmlNode.cs
- XmlSchemaValidationException.cs
- WaitHandle.cs
- DictionaryEditChange.cs
- LinqDataSourceContextData.cs
- AttributeUsageAttribute.cs
- CompoundFileDeflateTransform.cs
- IntPtr.cs
- StdValidatorsAndConverters.cs
- XhtmlConformanceSection.cs
- SimpleWorkerRequest.cs
- PnrpPermission.cs
- TagPrefixAttribute.cs
- SemanticBasicElement.cs
- VectorAnimation.cs
- BamlWriter.cs
- HeaderUtility.cs
- InheritanceContextChangedEventManager.cs
- SiteOfOriginPart.cs
- DataServiceRequestOfT.cs
- MimeParameter.cs
- CommandField.cs
- LinkClickEvent.cs
- WeakRefEnumerator.cs
- StylusPointCollection.cs
- SystemKeyConverter.cs
- MenuCommand.cs
- DataSourceHelper.cs
- HtmlObjectListAdapter.cs
- shaperfactory.cs
- GZipDecoder.cs
- BinaryFormatterWriter.cs
- ProxySimple.cs
- SoapCodeExporter.cs
- ListViewTableRow.cs
- _emptywebproxy.cs
- GPPOINTF.cs
- SingleConverter.cs
- DBAsyncResult.cs
- FlatButtonAppearance.cs
- DoneReceivingAsyncResult.cs
- LockCookie.cs
- AggregateNode.cs
- DataViewManagerListItemTypeDescriptor.cs
- Command.cs
- StrokeNode.cs
- Types.cs
- WindowsTreeView.cs
- NamedPipeConnectionPoolSettings.cs
- XmlHelper.cs
- CodeNamespaceImportCollection.cs
- ToolStripDropDownItemDesigner.cs
- ItemsControlAutomationPeer.cs
- ToolBarPanel.cs
- TextTreeUndo.cs
- MobileUserControl.cs
- LineServicesRun.cs
- TextDecoration.cs
- Main.cs
- regiisutil.cs
- SQLMembershipProvider.cs
- CqlLexerHelpers.cs
- EpmCustomContentSerializer.cs
- Image.cs
- Pkcs7Recipient.cs
- FloatUtil.cs
- ColumnReorderedEventArgs.cs
- ContactManager.cs
- SafeNativeMethods.cs
- BehaviorService.cs
- XmlRootAttribute.cs
- PropertyPushdownHelper.cs
- RemotingConfigParser.cs
- ButtonField.cs
- WebCategoryAttribute.cs
- PageRanges.cs
- OrthographicCamera.cs
- WizardPanel.cs
- RotateTransform.cs
- MenuItemStyleCollection.cs
- FileNotFoundException.cs
- OledbConnectionStringbuilder.cs
- ToolStripDropTargetManager.cs
- SystemTcpConnection.cs
- EdgeProfileValidation.cs
- TextServicesProperty.cs
- DirectoryObjectSecurity.cs
- Size3D.cs
- parserscommon.cs
- WsatEtwTraceListener.cs
- InternalRelationshipCollection.cs
- DesignerVerb.cs
- SoapWriter.cs
- XmlSerializationGeneratedCode.cs
- XPathSelfQuery.cs
- TargetPerspective.cs
- ChtmlSelectionListAdapter.cs