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
- Rfc4050KeyFormatter.cs
- WebSysDefaultValueAttribute.cs
- securestring.cs
- BitmapEffectvisualstate.cs
- ObjectListDesigner.cs
- ProxyWebPartConnectionCollection.cs
- UserThread.cs
- XmlQueryContext.cs
- FileIOPermission.cs
- ExtensionQuery.cs
- BooleanAnimationBase.cs
- EllipseGeometry.cs
- XmlSerializationReader.cs
- DoubleLinkListEnumerator.cs
- Set.cs
- TriState.cs
- UserPersonalizationStateInfo.cs
- PointF.cs
- RangeValidator.cs
- PersonalizationProviderCollection.cs
- EnvelopeVersion.cs
- WebPartManager.cs
- XPathParser.cs
- FileDialogCustomPlacesCollection.cs
- ProtocolsConfiguration.cs
- TreeViewHitTestInfo.cs
- SecureConversationServiceElement.cs
- ApplicationInfo.cs
- SspiSafeHandles.cs
- MatrixTransform.cs
- PackUriHelper.cs
- EventLogPermissionAttribute.cs
- Script.cs
- Script.cs
- TagPrefixCollection.cs
- Internal.cs
- RefType.cs
- TitleStyle.cs
- SqlUtils.cs
- DataBoundControl.cs
- Style.cs
- HttpCacheParams.cs
- HttpRuntimeSection.cs
- OracleTransaction.cs
- MenuItemCollection.cs
- FusionWrap.cs
- LookupNode.cs
- IItemContainerGenerator.cs
- TranslateTransform.cs
- SafeUserTokenHandle.cs
- StateInitializationDesigner.cs
- EventManager.cs
- PerformanceCounterPermissionAttribute.cs
- WebPartActionVerb.cs
- WsiProfilesElementCollection.cs
- CacheHelper.cs
- MessageDecoder.cs
- KeyPullup.cs
- OperationInfoBase.cs
- RowSpanVector.cs
- XmlSchemaSimpleTypeUnion.cs
- TreeBuilder.cs
- XmlAnyElementAttributes.cs
- XmlSchemaObjectTable.cs
- ProcessHostServerConfig.cs
- Symbol.cs
- InternalTypeHelper.cs
- PathParser.cs
- IncrementalCompileAnalyzer.cs
- Button.cs
- MenuItemBindingCollection.cs
- IsolationInterop.cs
- EncoderBestFitFallback.cs
- GlyphsSerializer.cs
- GeometryDrawing.cs
- Variable.cs
- CloseSequenceResponse.cs
- SecureStringHasher.cs
- LambdaCompiler.Address.cs
- URL.cs
- MetadataArtifactLoaderResource.cs
- DataRowComparer.cs
- dbenumerator.cs
- CLSCompliantAttribute.cs
- GridEntry.cs
- KeyTimeConverter.cs
- UpDownEvent.cs
- GridViewColumnHeaderAutomationPeer.cs
- CorrelationResolver.cs
- EventProxy.cs
- TableLayoutSettingsTypeConverter.cs
- XmlHierarchicalDataSourceView.cs
- X509CertificateCollection.cs
- StatusBarAutomationPeer.cs
- HintTextMaxWidthConverter.cs
- WindowsGraphics2.cs
- Helpers.cs
- MimeTextImporter.cs
- ThreadExceptionDialog.cs
- MobileUITypeEditor.cs