Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / EntityModel / SchemaObjectModel / ReturnType.cs / 1 / ReturnType.cs
using System; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Diagnostics; using System.Globalization; using System.Xml; using System.Xml.Schema; using System.Data; using System.IO; using System.Data.Metadata.Edm; using System.Data.Entity; namespace System.Data.EntityModel.SchemaObjectModel { class ReturnType : FacetEnabledSchemaElement { #region constructor ////// /// /// internal ReturnType(Function parentElement) : base(parentElement) { _typeUsageBuilder = new TypeUsageBuilder(this); } #endregion internal override SchemaElement Clone(SchemaElement parentElement) { ReturnType parameter = new ReturnType((Function)parentElement); parameter._type = _type; parameter.Name = this.Name; parameter._typeUsageBuilder = this._typeUsageBuilder; parameter._unresolvedType = this._unresolvedType; return parameter; } protected override bool HandleAttribute(XmlReader reader) { if (base.HandleAttribute(reader)) { return true; } else if (CanHandleAttribute(reader, XmlConstants.TypeElement)) { HandleTypeAttribute(reader); return true; } return false; } #region Private Methods ////// /// /// private void HandleTypeAttribute(XmlReader reader) { Debug.Assert(reader != null); Debug.Assert(this._unresolvedType == null); string type; if (!Utils.GetString(Schema, reader, out type)) return; if (!Utils.ValidateDottedName(Schema, reader, type)) return; this.UnresolvedType = type; } #endregion internal override void ResolveTopLevelNames() { Debug.Assert(!this.ParentElement.IsFunctionImport, "FunctionImports have return type as an attribute, so we should NEVER see them here"); base.ResolveTopLevelNames(); if (Schema.ResolveTypeName(this, UnresolvedType, out _type)) { if (!(_type is ScalarType)) { if (Schema.DataModel != SchemaDataModelOption.ProviderManifestModel) { AddError(ErrorCode.FunctionWithNonScalarTypeNotSupported, EdmSchemaErrorSeverity.Error, this, System.Data.Entity.Strings.FunctionWithNonScalarTypeNotSupported(_type.FQName, this.FQName)); } else { AddError(ErrorCode.FunctionWithNonScalarTypeNotSupported, EdmSchemaErrorSeverity.Error, this, System.Data.Entity.Strings.FunctionWithNonEdmTypeNotSupported(_type.FQName, this.FQName)); } } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Diagnostics; using System.Globalization; using System.Xml; using System.Xml.Schema; using System.Data; using System.IO; using System.Data.Metadata.Edm; using System.Data.Entity; namespace System.Data.EntityModel.SchemaObjectModel { class ReturnType : FacetEnabledSchemaElement { #region constructor ////// /// /// internal ReturnType(Function parentElement) : base(parentElement) { _typeUsageBuilder = new TypeUsageBuilder(this); } #endregion internal override SchemaElement Clone(SchemaElement parentElement) { ReturnType parameter = new ReturnType((Function)parentElement); parameter._type = _type; parameter.Name = this.Name; parameter._typeUsageBuilder = this._typeUsageBuilder; parameter._unresolvedType = this._unresolvedType; return parameter; } protected override bool HandleAttribute(XmlReader reader) { if (base.HandleAttribute(reader)) { return true; } else if (CanHandleAttribute(reader, XmlConstants.TypeElement)) { HandleTypeAttribute(reader); return true; } return false; } #region Private Methods ////// /// /// private void HandleTypeAttribute(XmlReader reader) { Debug.Assert(reader != null); Debug.Assert(this._unresolvedType == null); string type; if (!Utils.GetString(Schema, reader, out type)) return; if (!Utils.ValidateDottedName(Schema, reader, type)) return; this.UnresolvedType = type; } #endregion internal override void ResolveTopLevelNames() { Debug.Assert(!this.ParentElement.IsFunctionImport, "FunctionImports have return type as an attribute, so we should NEVER see them here"); base.ResolveTopLevelNames(); if (Schema.ResolveTypeName(this, UnresolvedType, out _type)) { if (!(_type is ScalarType)) { if (Schema.DataModel != SchemaDataModelOption.ProviderManifestModel) { AddError(ErrorCode.FunctionWithNonScalarTypeNotSupported, EdmSchemaErrorSeverity.Error, this, System.Data.Entity.Strings.FunctionWithNonScalarTypeNotSupported(_type.FQName, this.FQName)); } else { AddError(ErrorCode.FunctionWithNonScalarTypeNotSupported, EdmSchemaErrorSeverity.Error, this, System.Data.Entity.Strings.FunctionWithNonEdmTypeNotSupported(_type.FQName, this.FQName)); } } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DbExpressionBuilder.cs
- BaseCAMarshaler.cs
- TdsValueSetter.cs
- BaseDataBoundControl.cs
- ColorDialog.cs
- ZoneLinkButton.cs
- PageContent.cs
- ImageIndexConverter.cs
- BitConverter.cs
- Transform3D.cs
- SmiEventSink_Default.cs
- CatalogPartCollection.cs
- NegotiateStream.cs
- ProxyGenerationError.cs
- LogStream.cs
- SizeIndependentAnimationStorage.cs
- PageParserFilter.cs
- SQLInt64Storage.cs
- GraphicsContainer.cs
- EditorZone.cs
- IndependentlyAnimatedPropertyMetadata.cs
- LogFlushAsyncResult.cs
- Contracts.cs
- TextParagraphProperties.cs
- KeyGestureConverter.cs
- MappedMetaModel.cs
- MenuItemCollection.cs
- MinimizableAttributeTypeConverter.cs
- ScriptManagerProxy.cs
- ListViewEditEventArgs.cs
- EdmSchemaAttribute.cs
- VarInfo.cs
- EditorZoneAutoFormat.cs
- RuntimeArgumentHandle.cs
- HostedElements.cs
- WebPartVerbsEventArgs.cs
- UInt32.cs
- HtmlDocument.cs
- ConfigPathUtility.cs
- HTMLTextWriter.cs
- OptimizedTemplateContentHelper.cs
- Object.cs
- WebContext.cs
- ToolStripPanelCell.cs
- Pair.cs
- NamespaceList.cs
- RIPEMD160.cs
- ReadOnlyCollection.cs
- ArglessEventHandlerProxy.cs
- BatchParser.cs
- ResourcePool.cs
- OperationFormatStyle.cs
- TypeUtils.cs
- XmlSchemaExporter.cs
- ModuleBuilder.cs
- IntAverageAggregationOperator.cs
- PixelFormat.cs
- backend.cs
- SyncOperationState.cs
- sqlcontext.cs
- DiffuseMaterial.cs
- WebPartMenu.cs
- PointHitTestParameters.cs
- ImageDrawing.cs
- ItemAutomationPeer.cs
- XsltFunctions.cs
- FilterEventArgs.cs
- AsyncCompletedEventArgs.cs
- StringValidator.cs
- ObjectResult.cs
- EmulateRecognizeCompletedEventArgs.cs
- HttpFileCollectionWrapper.cs
- SerialPinChanges.cs
- ISAPIWorkerRequest.cs
- ProcessHostMapPath.cs
- Renderer.cs
- RC2CryptoServiceProvider.cs
- DesignerTextViewAdapter.cs
- PathGradientBrush.cs
- WebPartTransformerCollection.cs
- GeneratedView.cs
- HMACSHA1.cs
- MasterPage.cs
- ProcessInputEventArgs.cs
- Tuple.cs
- Action.cs
- OracleString.cs
- ClientTargetCollection.cs
- Processor.cs
- CornerRadiusConverter.cs
- CallContext.cs
- DoubleAnimation.cs
- RewritingSimplifier.cs
- DataBinder.cs
- ApplicationInfo.cs
- ThicknessAnimationBase.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- EventRecord.cs
- OdbcUtils.cs
- TransformConverter.cs