Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- TrustVersion.cs
- XmlUtf8RawTextWriter.cs
- InteropExecutor.cs
- DisplayInformation.cs
- NativeMethods.cs
- InstallerTypeAttribute.cs
- SendDesigner.xaml.cs
- Privilege.cs
- TextServicesCompartmentEventSink.cs
- SrgsItemList.cs
- MobileControlsSection.cs
- HtmlInputReset.cs
- DataSourceProvider.cs
- CopyNodeSetAction.cs
- UnsafeNativeMethods.cs
- HTTPNotFoundHandler.cs
- OrderPreservingPipeliningMergeHelper.cs
- XmlObjectSerializerReadContext.cs
- ChangeProcessor.cs
- CustomSignedXml.cs
- documentsequencetextcontainer.cs
- XmlValidatingReaderImpl.cs
- WebBrowserUriTypeConverter.cs
- NetworkCredential.cs
- NetWebProxyFinder.cs
- ProjectionPath.cs
- Stylesheet.cs
- BrowserCapabilitiesCompiler.cs
- DeferredBinaryDeserializerExtension.cs
- SafeNativeMethods.cs
- XPathDocument.cs
- WsdlEndpointConversionContext.cs
- PolyBezierSegment.cs
- safelinkcollection.cs
- StsCommunicationException.cs
- MessageVersionConverter.cs
- PropertyValueEditor.cs
- GlobalEventManager.cs
- Trigger.cs
- Int16KeyFrameCollection.cs
- PartialCachingControl.cs
- WindowCollection.cs
- SchemaMapping.cs
- WithParamAction.cs
- DispatcherHooks.cs
- FilterQuery.cs
- EntityAdapter.cs
- MessageBox.cs
- WebServiceData.cs
- TargetConverter.cs
- CacheEntry.cs
- GregorianCalendar.cs
- TextInfo.cs
- PropertyIDSet.cs
- InvokeWebService.cs
- _AcceptOverlappedAsyncResult.cs
- GridEntryCollection.cs
- ScriptHandlerFactory.cs
- SourceFileBuildProvider.cs
- TextParagraphProperties.cs
- TraversalRequest.cs
- XmlArrayItemAttribute.cs
- DescendantOverDescendantQuery.cs
- DataGridViewDataConnection.cs
- StringPropertyBuilder.cs
- SqlBulkCopy.cs
- HwndSourceKeyboardInputSite.cs
- peernodeimplementation.cs
- EntitySqlQueryBuilder.cs
- OperandQuery.cs
- ConfigXmlWhitespace.cs
- Matrix3DStack.cs
- ObservableDictionary.cs
- NamedObject.cs
- DefaultBindingPropertyAttribute.cs
- AggregateException.cs
- CLRBindingWorker.cs
- CapabilitiesRule.cs
- FixedLineResult.cs
- XmlImplementation.cs
- JsonEncodingStreamWrapper.cs
- SelectionPattern.cs
- SettingsContext.cs
- LoadGrammarCompletedEventArgs.cs
- DataGridRow.cs
- SmtpSection.cs
- DataStorage.cs
- TextParagraphCache.cs
- HtmlTableCell.cs
- HttpPostedFileBase.cs
- DataGridViewCellStyleBuilderDialog.cs
- ProfileService.cs
- DeviceSpecificDesigner.cs
- DictionaryCustomTypeDescriptor.cs
- SQLInt32Storage.cs
- DiscoveryOperationContextExtension.cs
- QuaternionConverter.cs
- InfoCardPolicy.cs
- DirtyTextRange.cs
- VisualStyleTypesAndProperties.cs