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
- Size.cs
- StylusPlugInCollection.cs
- SimpleTypeResolver.cs
- BamlRecordHelper.cs
- WebBrowserUriTypeConverter.cs
- HwndHostAutomationPeer.cs
- ExternalFile.cs
- IconConverter.cs
- SoapHeaders.cs
- SafeNativeMethods.cs
- ObjectListSelectEventArgs.cs
- FileNotFoundException.cs
- DataContext.cs
- QilVisitor.cs
- WebPartConnectionsCloseVerb.cs
- ValidationSummary.cs
- Logging.cs
- SoapRpcServiceAttribute.cs
- DbExpressionRules.cs
- XmlSchemaValidator.cs
- PersonalizationProviderHelper.cs
- Part.cs
- BitmapMetadata.cs
- ViewgenGatekeeper.cs
- TextAnchor.cs
- SizeAnimationUsingKeyFrames.cs
- updatecommandorderer.cs
- DoubleAnimationUsingPath.cs
- DeferredElementTreeState.cs
- IconHelper.cs
- UidManager.cs
- ControlParser.cs
- DocumentOrderComparer.cs
- XmlSchemaAnyAttribute.cs
- RedirectionProxy.cs
- SafeEventLogReadHandle.cs
- RoleServiceManager.cs
- UrlPropertyAttribute.cs
- _Rfc2616CacheValidators.cs
- HttpValueCollection.cs
- ValidationResult.cs
- ColorContextHelper.cs
- ScriptingSectionGroup.cs
- Size3DConverter.cs
- ValueOfAction.cs
- InheritanceUI.cs
- ToolStripDropTargetManager.cs
- _KerberosClient.cs
- ListenerConfig.cs
- SqlUserDefinedAggregateAttribute.cs
- SourceInterpreter.cs
- RijndaelManaged.cs
- DockPattern.cs
- DataSourceCache.cs
- PropertyPathConverter.cs
- AddDataControlFieldDialog.cs
- DoubleSumAggregationOperator.cs
- cryptoapiTransform.cs
- DataGridCellsPresenter.cs
- SelectionWordBreaker.cs
- RegisteredDisposeScript.cs
- FileNameEditor.cs
- Task.cs
- DetailsViewPagerRow.cs
- IList.cs
- DecoderExceptionFallback.cs
- ErrorFormatter.cs
- ObfuscateAssemblyAttribute.cs
- FlowDocumentPage.cs
- TrackBarRenderer.cs
- XmlSchemaValidator.cs
- baseshape.cs
- WizardSideBarListControlItem.cs
- EntityCollectionChangedParams.cs
- FlowPanelDesigner.cs
- JulianCalendar.cs
- DBCommandBuilder.cs
- SHA512.cs
- QilLoop.cs
- CodeTypeDeclarationCollection.cs
- XmlBufferReader.cs
- ButtonChrome.cs
- ClientData.cs
- SoapMessage.cs
- CutCopyPasteHelper.cs
- Animatable.cs
- SQLInt64Storage.cs
- WsiProfilesElement.cs
- __Filters.cs
- DispatcherExceptionFilterEventArgs.cs
- WindowsEditBoxRange.cs
- IndentTextWriter.cs
- ListViewUpdatedEventArgs.cs
- OracleBoolean.cs
- KeyValueSerializer.cs
- ContextStack.cs
- XmlAnyElementAttributes.cs
- WindowsTooltip.cs
- CacheVirtualItemsEvent.cs
- TemplateControlCodeDomTreeGenerator.cs