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
- DataBoundControl.cs
- SelectorItemAutomationPeer.cs
- TransformerInfoCollection.cs
- AdjustableArrowCap.cs
- ToolBar.cs
- ResourceExpression.cs
- FileDialog_Vista.cs
- WorkflowRequestContext.cs
- HttpRuntime.cs
- PriorityChain.cs
- GroupBox.cs
- InstanceOwnerException.cs
- LinqDataSourceDisposeEventArgs.cs
- TreeChangeInfo.cs
- CompilerGlobalScopeAttribute.cs
- FormsAuthenticationEventArgs.cs
- WindowsIdentity.cs
- KnownTypesProvider.cs
- ToolStripOverflow.cs
- CurrencyManager.cs
- SQLGuid.cs
- ComponentSerializationService.cs
- XmlCountingReader.cs
- XamlTreeBuilderBamlRecordWriter.cs
- NumericUpDownAccelerationCollection.cs
- ParserStreamGeometryContext.cs
- Cursors.cs
- SiteMapDesignerDataSourceView.cs
- UrlAuthFailedErrorFormatter.cs
- TextTreeTextNode.cs
- UTF8Encoding.cs
- SQLBytesStorage.cs
- InstanceOwner.cs
- WebPartMenu.cs
- BindUriHelper.cs
- Message.cs
- DependencyPropertyKind.cs
- InfoCard.cs
- ElementInit.cs
- MutexSecurity.cs
- _AutoWebProxyScriptEngine.cs
- WorkflowServiceOperationListItem.cs
- Panel.cs
- WpfXamlType.cs
- QueryableDataSource.cs
- TaiwanCalendar.cs
- ControlBuilderAttribute.cs
- DeclaredTypeElement.cs
- Attachment.cs
- XsltContext.cs
- EmptyReadOnlyDictionaryInternal.cs
- EntitySetBase.cs
- CodeMethodInvokeExpression.cs
- XmlSerializerAssemblyAttribute.cs
- PropertyKey.cs
- LinqDataSourceDeleteEventArgs.cs
- EventInfo.cs
- NameSpaceEvent.cs
- HtmlTextArea.cs
- login.cs
- DataSpaceManager.cs
- ClientOptions.cs
- DependencyPropertyKind.cs
- BuildTopDownAttribute.cs
- InfoCardAsymmetricCrypto.cs
- EntityClassGenerator.cs
- SelectionProcessor.cs
- EnvironmentPermission.cs
- OracleBoolean.cs
- NoResizeSelectionBorderGlyph.cs
- EntitySqlQueryBuilder.cs
- OverflowException.cs
- RIPEMD160Managed.cs
- TextChangedEventArgs.cs
- ResumeStoryboard.cs
- BoundingRectTracker.cs
- BitHelper.cs
- CrossAppDomainChannel.cs
- RawStylusInput.cs
- XmlSchemaAppInfo.cs
- TreeViewCancelEvent.cs
- XamlSerializerUtil.cs
- ComponentCollection.cs
- Perspective.cs
- DefaultValueTypeConverter.cs
- MemberRelationshipService.cs
- ObjectQuery.cs
- SizeAnimationClockResource.cs
- ConnectionStringsExpressionBuilder.cs
- LinqDataView.cs
- WebPartsPersonalizationAuthorization.cs
- ResourceExpressionBuilder.cs
- DataGridCellInfo.cs
- FixedSOMContainer.cs
- PropertiesTab.cs
- basenumberconverter.cs
- IISUnsafeMethods.cs
- ToolstripProfessionalRenderer.cs
- DataList.cs
- ObjectFactoryCodeDomTreeGenerator.cs