Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntity / System / Data / EntityModel / SchemaObjectModel / ReturnType.cs / 2 / 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
- StorageRoot.cs
- PrimitiveSchema.cs
- DbInsertCommandTree.cs
- MruCache.cs
- CheckBox.cs
- FormViewModeEventArgs.cs
- ColorContext.cs
- ArraySubsetEnumerator.cs
- CompositeActivityTypeDescriptorProvider.cs
- X500Name.cs
- WebPermission.cs
- Formatter.cs
- WindowsRegion.cs
- CapabilitiesAssignment.cs
- ComponentCollection.cs
- TextEditorSpelling.cs
- COM2ExtendedUITypeEditor.cs
- AssemblyUtil.cs
- InheritanceContextChangedEventManager.cs
- EntityDataSourceSelectedEventArgs.cs
- CompositeFontParser.cs
- ThreadAttributes.cs
- DBConnectionString.cs
- XmlSchemaException.cs
- PasswordDeriveBytes.cs
- DataRecordInfo.cs
- ProxyAttribute.cs
- SizeChangedInfo.cs
- IconHelper.cs
- PeerCollaboration.cs
- UniqueIdentifierService.cs
- RenderOptions.cs
- GridViewRowCollection.cs
- VisualBrush.cs
- _HTTPDateParse.cs
- TCEAdapterGenerator.cs
- SettingsPropertyValueCollection.cs
- remotingproxy.cs
- OutputCacheModule.cs
- HuffCodec.cs
- BitmapFrame.cs
- SecureUICommand.cs
- WebEventCodes.cs
- ExpressionBuilderCollection.cs
- WindowsTooltip.cs
- NetworkInterface.cs
- TypefaceMetricsCache.cs
- XpsImageSerializationService.cs
- SafeCryptContextHandle.cs
- LinkDescriptor.cs
- TripleDES.cs
- WindowsContainer.cs
- ToolStripManager.cs
- dbenumerator.cs
- EmulateRecognizeCompletedEventArgs.cs
- ResourceManagerWrapper.cs
- FixedSOMLineRanges.cs
- SettingsBindableAttribute.cs
- ItemContainerGenerator.cs
- StringFunctions.cs
- PropertyFilter.cs
- HtmlShim.cs
- HashHelper.cs
- TrackingValidationObjectDictionary.cs
- HtmlTableCell.cs
- ScrollBarAutomationPeer.cs
- Drawing.cs
- Baml2006ReaderContext.cs
- HuffmanTree.cs
- ScrollChrome.cs
- ClientConfigurationSystem.cs
- DesignerObject.cs
- RegexCompiler.cs
- TabControlEvent.cs
- SQLInt16.cs
- DefaultHttpHandler.cs
- xmlglyphRunInfo.cs
- XmlIncludeAttribute.cs
- DbSetClause.cs
- ResourceExpressionBuilder.cs
- QueryOperationResponseOfT.cs
- XmlSerializerVersionAttribute.cs
- XmlTextReader.cs
- Delegate.cs
- X509Utils.cs
- TablePattern.cs
- GetPageNumberCompletedEventArgs.cs
- CqlQuery.cs
- SqlCommandBuilder.cs
- IntSecurity.cs
- RawUIStateInputReport.cs
- StreamFormatter.cs
- GAC.cs
- GetImportFileNameRequest.cs
- RootDesignerSerializerAttribute.cs
- WebPageTraceListener.cs
- wgx_commands.cs
- WorkflowItemsPresenter.cs
- XmlUtf8RawTextWriter.cs
- StatusBarDrawItemEvent.cs