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
- Parser.cs
- DataIdProcessor.cs
- DesignerProperties.cs
- ThreadExceptionDialog.cs
- MasterPageBuildProvider.cs
- GenericUriParser.cs
- ImageBrush.cs
- RegexBoyerMoore.cs
- Root.cs
- HtmlWindow.cs
- MembershipUser.cs
- Currency.cs
- ClientScriptManager.cs
- Menu.cs
- DispatcherOperation.cs
- ClientOperation.cs
- DataGridTable.cs
- InvokeSchedule.cs
- ObjectDataSourceStatusEventArgs.cs
- HelpFileFileNameEditor.cs
- PageCodeDomTreeGenerator.cs
- SvcMapFileSerializer.cs
- DesignerContextDescriptor.cs
- XmlWriter.cs
- XmlLangPropertyAttribute.cs
- DataGridViewMethods.cs
- ControlIdConverter.cs
- ParameterCollection.cs
- XamlWrappingReader.cs
- WorkflowItemsPresenter.cs
- ConfigurationManagerHelperFactory.cs
- Exception.cs
- TransactionInformation.cs
- TextRangeEditTables.cs
- DbMetaDataCollectionNames.cs
- ClientEventManager.cs
- CursorInteropHelper.cs
- keycontainerpermission.cs
- DatatypeImplementation.cs
- XmlSerializerFactory.cs
- DataRowChangeEvent.cs
- BitmapInitialize.cs
- StrokeNode.cs
- Latin1Encoding.cs
- FormViewDeletedEventArgs.cs
- SortableBindingList.cs
- NameObjectCollectionBase.cs
- GACIdentityPermission.cs
- ColumnPropertiesGroup.cs
- TreeNodeEventArgs.cs
- ChtmlPhoneCallAdapter.cs
- DeviceFiltersSection.cs
- HttpModuleAction.cs
- CodeArrayIndexerExpression.cs
- Axis.cs
- Attributes.cs
- DistributedTransactionPermission.cs
- XsdDateTime.cs
- OverflowException.cs
- DateRangeEvent.cs
- GridErrorDlg.cs
- Expr.cs
- FlagsAttribute.cs
- HostExecutionContextManager.cs
- ObjectHandle.cs
- MdiWindowListStrip.cs
- EntityObject.cs
- DropShadowEffect.cs
- JumpPath.cs
- XmlILOptimizerVisitor.cs
- AnnotationAuthorChangedEventArgs.cs
- ThemeInfoAttribute.cs
- FixedHighlight.cs
- HitTestResult.cs
- ZipPackage.cs
- Matrix3D.cs
- NavigationWindowAutomationPeer.cs
- IconBitmapDecoder.cs
- CallContext.cs
- TextTrailingCharacterEllipsis.cs
- XmlSchemaAnnotation.cs
- CfgParser.cs
- ProtocolElementCollection.cs
- GeneralTransform2DTo3DTo2D.cs
- ProxyFragment.cs
- ByteStreamGeometryContext.cs
- PointConverter.cs
- ColumnClickEvent.cs
- MenuTracker.cs
- CustomAttributeSerializer.cs
- TreeViewCancelEvent.cs
- DependencyStoreSurrogate.cs
- DataGridViewRowCancelEventArgs.cs
- NamedElement.cs
- QueryParameter.cs
- XXXOnTypeBuilderInstantiation.cs
- Property.cs
- WindowsScroll.cs
- NaturalLanguageHyphenator.cs
- SQLByteStorage.cs