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
- WebAdminConfigurationHelper.cs
- TrustVersion.cs
- BitmapEffectInput.cs
- TrackingConditionCollection.cs
- UnmanagedHandle.cs
- EntityConnection.cs
- ExpressionBuilder.cs
- XmlSchemaIdentityConstraint.cs
- ToolStripItemImageRenderEventArgs.cs
- FlowSwitch.cs
- SelectionWordBreaker.cs
- KeyInstance.cs
- CompilerParameters.cs
- DurableOperationContext.cs
- EntityTypeEmitter.cs
- ReadOnlyObservableCollection.cs
- SettingsPropertyCollection.cs
- HttpProfileGroupBase.cs
- DelegateSerializationHolder.cs
- PerformanceCountersElement.cs
- SiteMapNodeItem.cs
- DataRelationCollection.cs
- URLString.cs
- RadioButtonBaseAdapter.cs
- VoiceObjectToken.cs
- AncillaryOps.cs
- VariableQuery.cs
- ToolStripItemCollection.cs
- LineMetrics.cs
- RegisteredHiddenField.cs
- InvokeGenerator.cs
- DrawToolTipEventArgs.cs
- RestHandlerFactory.cs
- RenderContext.cs
- KeyValuePair.cs
- WebExceptionStatus.cs
- StrongTypingException.cs
- DetailsView.cs
- DataKeyArray.cs
- SQLDateTime.cs
- UndoEngine.cs
- Cell.cs
- Claim.cs
- BinaryNode.cs
- Variant.cs
- XmlDocument.cs
- CharacterShapingProperties.cs
- HttpClientCertificate.cs
- ScriptModule.cs
- BookmarkUndoUnit.cs
- Bind.cs
- DbConnectionHelper.cs
- VerificationException.cs
- TCPListener.cs
- COM2PictureConverter.cs
- StatusBarItemAutomationPeer.cs
- sqlcontext.cs
- TextEditorContextMenu.cs
- RegexParser.cs
- DownloadProgressEventArgs.cs
- StrokeSerializer.cs
- StringUtil.cs
- ColorMatrix.cs
- WhileDesigner.xaml.cs
- EncodingFallbackAwareXmlTextWriter.cs
- DataGridViewCellCollection.cs
- MultiBindingExpression.cs
- Mutex.cs
- COM2ExtendedBrowsingHandler.cs
- FileSystemWatcher.cs
- Inline.cs
- TranslateTransform3D.cs
- NavigationFailedEventArgs.cs
- DataSourceDesigner.cs
- OperationParameterInfoCollection.cs
- TargetFrameworkAttribute.cs
- TableParaClient.cs
- regiisutil.cs
- SafeNativeMethods.cs
- WindowProviderWrapper.cs
- IERequestCache.cs
- HtmlInputCheckBox.cs
- Int32Storage.cs
- SiteMapNode.cs
- GridViewRow.cs
- StringFormat.cs
- TemplateBindingExpressionConverter.cs
- MetricEntry.cs
- DateTimeFormatInfoScanner.cs
- Table.cs
- FileUpload.cs
- KeySplineConverter.cs
- DSASignatureFormatter.cs
- ThemeDictionaryExtension.cs
- MetadataCache.cs
- SoapExtensionTypeElementCollection.cs
- WebPartsPersonalizationAuthorization.cs
- CatalogPartChrome.cs
- FixedTextPointer.cs
- ProfileProvider.cs