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
- TableDesigner.cs
- EventHandlerList.cs
- Section.cs
- PartitionResolver.cs
- AssemblyBuilder.cs
- TemplateParser.cs
- OdbcDataReader.cs
- ApplicationFileParser.cs
- ModulesEntry.cs
- TypeLoadException.cs
- WebPartConnectionsDisconnectVerb.cs
- WindowsStatic.cs
- UIPermission.cs
- Transform3DGroup.cs
- Configuration.cs
- AssemblyAttributes.cs
- nulltextnavigator.cs
- EventSetter.cs
- UniqueConstraint.cs
- RelationshipDetailsRow.cs
- Matrix3DValueSerializer.cs
- EntityDataSourceColumn.cs
- NotFiniteNumberException.cs
- RelatedImageListAttribute.cs
- BufferedMessageWriter.cs
- EntityDataSourceEntitySetNameItem.cs
- SiteMapSection.cs
- EntityDesignerUtils.cs
- DocumentPage.cs
- PointConverter.cs
- DataViewManager.cs
- TableLayoutColumnStyleCollection.cs
- MailAddress.cs
- NameValueCollection.cs
- ApplicationHost.cs
- CodeAccessSecurityEngine.cs
- HandledEventArgs.cs
- ImageListStreamer.cs
- ImageListUtils.cs
- OpenTypeLayoutCache.cs
- BamlWriter.cs
- AssemblyBuilder.cs
- DrawingState.cs
- RenderContext.cs
- DrawingVisualDrawingContext.cs
- DateTimeOffset.cs
- CodeSnippetTypeMember.cs
- UnicodeEncoding.cs
- BackStopAuthenticationModule.cs
- URL.cs
- EmptyStringExpandableObjectConverter.cs
- AuthorizationPolicyTypeElementCollection.cs
- TextEffectResolver.cs
- ListViewInsertEventArgs.cs
- SamlEvidence.cs
- XmlSchemaGroupRef.cs
- CounterSetInstanceCounterDataSet.cs
- SqlException.cs
- SchemaAttDef.cs
- ListBindingConverter.cs
- ColumnHeaderConverter.cs
- TextEditor.cs
- SqlRetyper.cs
- SelectionItemProviderWrapper.cs
- NotImplementedException.cs
- CodeIdentifier.cs
- AsmxEndpointPickerExtension.cs
- AbsoluteQuery.cs
- AncestorChangedEventArgs.cs
- ListDataHelper.cs
- IncrementalCompileAnalyzer.cs
- DiscoveryReference.cs
- SourceElementsCollection.cs
- TextAutomationPeer.cs
- ContentPathSegment.cs
- SqlClientWrapperSmiStream.cs
- CellLabel.cs
- ProcessHost.cs
- ApplicationTrust.cs
- CacheDependency.cs
- GridViewCellAutomationPeer.cs
- PasswordPropertyTextAttribute.cs
- Rect3DValueSerializer.cs
- FontNameEditor.cs
- NameTable.cs
- ObjectHandle.cs
- ValidatorAttribute.cs
- MembershipSection.cs
- AtomicFile.cs
- QilName.cs
- StaticExtensionConverter.cs
- ContentTextAutomationPeer.cs
- RefreshPropertiesAttribute.cs
- IDReferencePropertyAttribute.cs
- httpstaticobjectscollection.cs
- IdentifierService.cs
- ElementNotEnabledException.cs
- DeferredSelectedIndexReference.cs
- OleTxTransaction.cs
- HwndSubclass.cs