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
- _HeaderInfo.cs
- TogglePatternIdentifiers.cs
- GridViewRowPresenterBase.cs
- SyndicationCategory.cs
- Quack.cs
- FormCollection.cs
- MessageDecoder.cs
- Merger.cs
- HttpResponseInternalWrapper.cs
- XPathAncestorIterator.cs
- StylusPointDescription.cs
- HtmlControl.cs
- QuaternionAnimationUsingKeyFrames.cs
- MasterPageCodeDomTreeGenerator.cs
- AssertSection.cs
- DbRetry.cs
- Point3DKeyFrameCollection.cs
- HtmlHead.cs
- SafeThemeHandle.cs
- AllMembershipCondition.cs
- BaseDataList.cs
- TextTreeInsertElementUndoUnit.cs
- Contracts.cs
- TimestampInformation.cs
- PolyBezierSegmentFigureLogic.cs
- DefaultValueAttribute.cs
- sqlmetadatafactory.cs
- SkinBuilder.cs
- BindingListCollectionView.cs
- Path.cs
- SyndicationDeserializer.cs
- DefaultExpression.cs
- SqlCacheDependencyDatabase.cs
- OleDbSchemaGuid.cs
- Rotation3DAnimationBase.cs
- HtmlDocument.cs
- BamlRecords.cs
- RtfNavigator.cs
- BindingNavigatorDesigner.cs
- ContractSearchPattern.cs
- BuildDependencySet.cs
- ControlBuilderAttribute.cs
- PageThemeCodeDomTreeGenerator.cs
- TextTreeTextNode.cs
- ControlPropertyNameConverter.cs
- FontFamilyConverter.cs
- SystemIcmpV6Statistics.cs
- DataPagerFieldCommandEventArgs.cs
- ButtonChrome.cs
- GenericUriParser.cs
- RecommendedAsConfigurableAttribute.cs
- TableLayout.cs
- XmlImplementation.cs
- ClockController.cs
- NavigationPropertyEmitter.cs
- StrongNameHelpers.cs
- ThreadSafeList.cs
- DispatcherProcessingDisabled.cs
- ParseHttpDate.cs
- QueryOutputWriter.cs
- SmtpMail.cs
- HttpModuleCollection.cs
- EnumValidator.cs
- StandardOleMarshalObject.cs
- TemplateBindingExtension.cs
- EnumerableValidator.cs
- Buffer.cs
- IApplicationTrustManager.cs
- SourceLocationProvider.cs
- FormViewPageEventArgs.cs
- serverconfig.cs
- DocumentXmlWriter.cs
- GraphicsContext.cs
- TransformerInfo.cs
- ProxyWebPartManagerDesigner.cs
- ArgumentException.cs
- AQNBuilder.cs
- XamlBrushSerializer.cs
- TypeElement.cs
- OpacityConverter.cs
- XmlSchemaInfo.cs
- PartialToken.cs
- UserControlParser.cs
- Object.cs
- FlowLayout.cs
- FileRecordSequence.cs
- ByteAnimationBase.cs
- HtmlUtf8RawTextWriter.cs
- ChooseAction.cs
- GridViewRowPresenterBase.cs
- MiniAssembly.cs
- X509KeyIdentifierClauseType.cs
- DomNameTable.cs
- QilCloneVisitor.cs
- FacetValues.cs
- StateElement.cs
- InstanceData.cs
- DataError.cs
- DeploymentExceptionMapper.cs
- AccessibleObject.cs