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
- EncryptedType.cs
- DelimitedListTraceListener.cs
- MatrixTransform.cs
- WebPartCancelEventArgs.cs
- Command.cs
- InvokeHandlers.cs
- SharedStatics.cs
- ExcCanonicalXml.cs
- RepeatButton.cs
- DbConnectionOptions.cs
- ShapeTypeface.cs
- SiteOfOriginContainer.cs
- CapabilitiesUse.cs
- IntSecurity.cs
- XamlWriter.cs
- ScrollData.cs
- CodeObject.cs
- Color.cs
- PeerNameRegistration.cs
- Endpoint.cs
- FieldMetadata.cs
- SqlDataSourceConnectionPanel.cs
- WeakHashtable.cs
- ResourceExpressionBuilder.cs
- keycontainerpermission.cs
- ProcessThread.cs
- IPPacketInformation.cs
- WebPartDisplayMode.cs
- InboundActivityHelper.cs
- HwndSourceParameters.cs
- TypeInitializationException.cs
- Latin1Encoding.cs
- ClientRequest.cs
- XMLUtil.cs
- DiffuseMaterial.cs
- CacheMemory.cs
- SpeakProgressEventArgs.cs
- PropertyConverter.cs
- ZipIOLocalFileBlock.cs
- WinEventTracker.cs
- CodeCommentStatementCollection.cs
- AddInAttribute.cs
- ServiceOperationParameter.cs
- ScriptRef.cs
- WrapPanel.cs
- EnumValAlphaComparer.cs
- EnumMemberAttribute.cs
- ResumeStoryboard.cs
- securitycriticaldataformultiplegetandset.cs
- XLinq.cs
- PeerIPHelper.cs
- ImageClickEventArgs.cs
- RadioButtonDesigner.cs
- UnsafeNativeMethods.cs
- VariableExpressionConverter.cs
- ScrollProviderWrapper.cs
- XmlQueryOutput.cs
- XmlNullResolver.cs
- PathTooLongException.cs
- ExtensionDataReader.cs
- ConfigurationManagerInternalFactory.cs
- TypeToken.cs
- SystemIPv6InterfaceProperties.cs
- LinqDataSourceStatusEventArgs.cs
- XLinq.cs
- Thickness.cs
- ExceptionUtil.cs
- XmlMapping.cs
- SelectionItemProviderWrapper.cs
- ObjectStateManager.cs
- DataGridViewDesigner.cs
- CurrencyWrapper.cs
- WriteTimeStream.cs
- AgileSafeNativeMemoryHandle.cs
- HistoryEventArgs.cs
- EndpointAddressMessageFilterTable.cs
- XmlSchemaSubstitutionGroup.cs
- VariableDesigner.xaml.cs
- MediaElement.cs
- TokenBasedSet.cs
- OleDbException.cs
- WorkflowElementDialog.cs
- DispatcherHooks.cs
- GenericWebPart.cs
- SqlRewriteScalarSubqueries.cs
- IpcPort.cs
- Win32.cs
- SharedUtils.cs
- wmiprovider.cs
- SqlComparer.cs
- WebScriptServiceHost.cs
- XmlSchemaAll.cs
- EdmRelationshipRoleAttribute.cs
- HostProtectionPermission.cs
- DiagnosticsConfigurationHandler.cs
- ModuleConfigurationInfo.cs
- PenThreadWorker.cs
- versioninfo.cs
- PassportAuthenticationEventArgs.cs
- CheckBox.cs