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
- VBCodeProvider.cs
- IPGlobalProperties.cs
- StateDesignerConnector.cs
- VisualStyleElement.cs
- EUCJPEncoding.cs
- MulticastOption.cs
- DoubleAnimationUsingKeyFrames.cs
- GenerateHelper.cs
- BaseDataListDesigner.cs
- XamlSerializer.cs
- StateMachineHelpers.cs
- CheckPair.cs
- MD5CryptoServiceProvider.cs
- ArrayTypeMismatchException.cs
- DataTableCollection.cs
- ExpressionBindingCollection.cs
- UInt64Converter.cs
- DrawingCollection.cs
- AggregateException.cs
- TouchesOverProperty.cs
- CleanUpVirtualizedItemEventArgs.cs
- TypedRowHandler.cs
- NetDataContractSerializer.cs
- CodeTypeParameterCollection.cs
- TypeLoadException.cs
- nulltextcontainer.cs
- AsyncDataRequest.cs
- DuplicateWaitObjectException.cs
- TimeZone.cs
- AsynchronousChannel.cs
- PrivilegeNotHeldException.cs
- BoundsDrawingContextWalker.cs
- DrawingAttributeSerializer.cs
- Matrix3D.cs
- OdbcStatementHandle.cs
- RegisteredScript.cs
- Pkcs9Attribute.cs
- GenerateScriptTypeAttribute.cs
- CountAggregationOperator.cs
- WebChannelFactory.cs
- PermissionToken.cs
- SqlClientWrapperSmiStreamChars.cs
- LateBoundBitmapDecoder.cs
- ConstructorBuilder.cs
- FileDialog.cs
- ObjectAssociationEndMapping.cs
- assemblycache.cs
- SecurityCriticalDataForSet.cs
- ToolboxItemCollection.cs
- SiteMapNodeCollection.cs
- PeerTransportSecuritySettings.cs
- SyndicationDeserializer.cs
- ClientSettingsProvider.cs
- InstalledFontCollection.cs
- XsdDateTime.cs
- FileDetails.cs
- CompilationSection.cs
- AdditionalEntityFunctions.cs
- DefaultValueTypeConverter.cs
- BamlLocalizabilityResolver.cs
- ConnectionPointGlyph.cs
- LeaseManager.cs
- FormViewPageEventArgs.cs
- Content.cs
- SystemResourceKey.cs
- Validator.cs
- TrailingSpaceComparer.cs
- EnvironmentPermission.cs
- XmlNode.cs
- XmlUtf8RawTextWriter.cs
- ConstrainedGroup.cs
- ReflectEventDescriptor.cs
- DES.cs
- DelegateTypeInfo.cs
- StyleReferenceConverter.cs
- RegionIterator.cs
- EntryPointNotFoundException.cs
- SimpleWebHandlerParser.cs
- HttpWebRequestElement.cs
- COM2IPerPropertyBrowsingHandler.cs
- GridViewDesigner.cs
- ResourceProviderFactory.cs
- LineSegment.cs
- CallContext.cs
- Dictionary.cs
- TrackingDataItem.cs
- UserControlDocumentDesigner.cs
- Metadata.cs
- SrgsElement.cs
- DateRangeEvent.cs
- BitmapEffectGroup.cs
- SystemNetworkInterface.cs
- HighContrastHelper.cs
- AttributeEmitter.cs
- ConfigurationProperty.cs
- HostingEnvironmentWrapper.cs
- DesignerLoader.cs
- Registry.cs
- Grant.cs
- GroupBox.cs