Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / Microsoft / Scripting / Ast / ParameterExpression.cs / 1305376 / ParameterExpression.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.Diagnostics; using System.Dynamic.Utils; #if SILVERLIGHT using System.Core; #endif namespace System.Linq.Expressions { ////// Represents a named parameter expression. /// #if !SILVERLIGHT [DebuggerTypeProxy(typeof(Expression.ParameterExpressionProxy))] #endif public class ParameterExpression : Expression { private readonly string _name; internal ParameterExpression(string name) { _name = name; } internal static ParameterExpression Make(Type type, string name, bool isByRef) { if (isByRef) { return new ByRefParameterExpression(type, name); } else { if (!type.IsEnum) { switch (Type.GetTypeCode(type)) { case TypeCode.Boolean: return new PrimitiveParameterExpression(name); case TypeCode.Byte: return new PrimitiveParameterExpression (name); case TypeCode.Char: return new PrimitiveParameterExpression (name); case TypeCode.DateTime: return new PrimitiveParameterExpression (name); case TypeCode.DBNull: return new PrimitiveParameterExpression (name); case TypeCode.Decimal: return new PrimitiveParameterExpression (name); case TypeCode.Double: return new PrimitiveParameterExpression (name); case TypeCode.Int16: return new PrimitiveParameterExpression (name); case TypeCode.Int32: return new PrimitiveParameterExpression (name); case TypeCode.Int64: return new PrimitiveParameterExpression (name); case TypeCode.Object: // common reference types which we optimize go here. Of course object is in // the list, the others are driven by profiling of various workloads. This list // should be kept short. if (type == typeof(object)) { return new ParameterExpression(name); } else if (type == typeof(Exception)) { return new PrimitiveParameterExpression (name); } else if (type == typeof(object[])) { return new PrimitiveParameterExpression
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TableTextElementCollectionInternal.cs
- Flowchart.cs
- XmlQueryContext.cs
- LocationUpdates.cs
- HopperCache.cs
- DataGridViewDataConnection.cs
- SendParametersContent.cs
- PartialList.cs
- UrlMapping.cs
- ExpressionBindings.cs
- UniqueTransportManagerRegistration.cs
- WebControlsSection.cs
- CssTextWriter.cs
- RegexTypeEditor.cs
- TripleDES.cs
- EmissiveMaterial.cs
- DataGridViewRowPostPaintEventArgs.cs
- DesignerForm.cs
- DebugView.cs
- FileSystemInfo.cs
- SpnEndpointIdentityExtension.cs
- TemplateEditingVerb.cs
- MethodBuilder.cs
- ZipIOCentralDirectoryBlock.cs
- ListDictionary.cs
- NeutralResourcesLanguageAttribute.cs
- WebBrowsableAttribute.cs
- FunctionMappingTranslator.cs
- SessionSwitchEventArgs.cs
- UserNameSecurityToken.cs
- PublishLicense.cs
- PageCache.cs
- DynamicControl.cs
- PositiveTimeSpanValidatorAttribute.cs
- X509InitiatorCertificateServiceElement.cs
- SchemaNames.cs
- TheQuery.cs
- FollowerQueueCreator.cs
- IdnElement.cs
- SelectionEditor.cs
- TextTreeInsertElementUndoUnit.cs
- TriggerAction.cs
- ExecutionEngineException.cs
- SmiMetaDataProperty.cs
- Stopwatch.cs
- _KerberosClient.cs
- WebService.cs
- StylusShape.cs
- TableDetailsCollection.cs
- RoamingStoreFile.cs
- _SSPISessionCache.cs
- WrappedReader.cs
- HScrollProperties.cs
- MarkupObject.cs
- RoleManagerEventArgs.cs
- DoubleStorage.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- GCHandleCookieTable.cs
- UIInitializationException.cs
- DelayedRegex.cs
- CompensateDesigner.cs
- TemplateControl.cs
- XPathMultyIterator.cs
- CodeDelegateCreateExpression.cs
- SingleResultAttribute.cs
- NumberSubstitution.cs
- TemplateXamlTreeBuilder.cs
- ZipIOExtraField.cs
- StringExpressionSet.cs
- QueryContext.cs
- WebPartEventArgs.cs
- Hyperlink.cs
- HttpHandlerAction.cs
- Baml2006SchemaContext.cs
- CompositeFontParser.cs
- EntityDataSourceContextCreatingEventArgs.cs
- RSAPKCS1SignatureDeformatter.cs
- ToolStripHighContrastRenderer.cs
- ServiceDeploymentInfo.cs
- TextDecoration.cs
- EntityParameter.cs
- MetadataSerializer.cs
- FlatButtonAppearance.cs
- IApplicationTrustManager.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- BaseCAMarshaler.cs
- CodeAttachEventStatement.cs
- _AcceptOverlappedAsyncResult.cs
- SqlColumnizer.cs
- XmlSchemaAnnotated.cs
- KeyGesture.cs
- CommandLibraryHelper.cs
- DeclaredTypeElement.cs
- ImportContext.cs
- ReversePositionQuery.cs
- AuthorizationSection.cs
- Margins.cs
- EmptyQuery.cs
- XmlEncoding.cs
- CodeArrayCreateExpression.cs