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
- Options.cs
- FrameworkReadOnlyPropertyMetadata.cs
- CodeCommentStatementCollection.cs
- FontCollection.cs
- HtmlCalendarAdapter.cs
- Message.cs
- ExpressionUtilities.cs
- contentDescriptor.cs
- PropertyStore.cs
- DataBindingExpressionBuilder.cs
- IISUnsafeMethods.cs
- VisualStateGroup.cs
- CustomErrorsSection.cs
- CodeLinePragma.cs
- CryptographicAttribute.cs
- _FtpDataStream.cs
- DetailsViewRowCollection.cs
- DataPagerCommandEventArgs.cs
- PtsPage.cs
- SqlDataSourceDesigner.cs
- ModulesEntry.cs
- StandardCommands.cs
- DataGridToolTip.cs
- NopReturnReader.cs
- EntityReference.cs
- MetadataCollection.cs
- ModuleElement.cs
- Section.cs
- ACE.cs
- PathGeometry.cs
- PageSetupDialog.cs
- ToolstripProfessionalRenderer.cs
- ModelTreeManager.cs
- BamlTreeUpdater.cs
- IteratorFilter.cs
- metadatamappinghashervisitor.cs
- AddInControllerImpl.cs
- wgx_commands.cs
- SeverityFilter.cs
- exports.cs
- PolicyValidationException.cs
- Margins.cs
- EpmSyndicationContentSerializer.cs
- XslTransform.cs
- LayoutTableCell.cs
- Tokenizer.cs
- AnnotationService.cs
- PolicyStatement.cs
- ObjectDataSourceStatusEventArgs.cs
- WmlTextViewAdapter.cs
- MiniParameterInfo.cs
- XpsS0ValidatingLoader.cs
- HttpWebRequestElement.cs
- WebPartConnectionsConnectVerb.cs
- TiffBitmapDecoder.cs
- ProxyElement.cs
- WebContext.cs
- KeyGestureConverter.cs
- LinkLabel.cs
- XmlDataDocument.cs
- DataGridViewRowPostPaintEventArgs.cs
- Int32KeyFrameCollection.cs
- _Rfc2616CacheValidators.cs
- InteropAutomationProvider.cs
- RoutedEventValueSerializer.cs
- NotFiniteNumberException.cs
- SafeRightsManagementSessionHandle.cs
- BaseTreeIterator.cs
- AbstractSvcMapFileLoader.cs
- DataControlImageButton.cs
- BmpBitmapDecoder.cs
- HttpResponse.cs
- DateTimeParse.cs
- DispatcherSynchronizationContext.cs
- SQLResource.cs
- FragmentQueryProcessor.cs
- DataBoundControlHelper.cs
- BuildManagerHost.cs
- Module.cs
- CompareValidator.cs
- _DigestClient.cs
- SecurityTokenTypes.cs
- XmlHierarchicalDataSourceView.cs
- MobileFormsAuthentication.cs
- InvokeBase.cs
- TypeToken.cs
- IdlingCommunicationPool.cs
- Int32RectValueSerializer.cs
- contentDescriptor.cs
- ByteRangeDownloader.cs
- ASCIIEncoding.cs
- ListBindingHelper.cs
- OdbcConnection.cs
- mediaeventshelper.cs
- StateMachineWorkflowDesigner.cs
- VideoDrawing.cs
- TransformedBitmap.cs
- TagPrefixAttribute.cs
- DeploymentExceptionMapper.cs
- QilTypeChecker.cs