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 / Parameter.cs / 2 / Parameter.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Diagnostics; using System.Xml; using System.Data; using System.Data.Metadata.Edm; using System.Reflection; using System.IO; using System.Globalization; namespace System.Data.EntityModel.SchemaObjectModel { ////// Summary description for StructuredProperty. /// internal class Parameter : FacetEnabledSchemaElement { #region Instance Fields private ParameterDirection _parameterDirection = ParameterDirection.Input; private CollectionKind _collectionKind = CollectionKind.None; #endregion #region constructor ////// /// /// internal Parameter(Function parentElement) : base(parentElement) { _typeUsageBuilder = new TypeUsageBuilder(this); } #endregion #region Public Properties public ParameterDirection ParameterDirection { get { return _parameterDirection; } } public CollectionKind CollectionKind { get { return _collectionKind; } internal set { _collectionKind = value; } } #endregion internal override SchemaElement Clone(SchemaElement parentElement) { Parameter parameter = new Parameter((Function)parentElement); parameter._collectionKind = _collectionKind; parameter._parameterDirection = _parameterDirection; parameter._type = _type; parameter.Name = this.Name; parameter._typeUsageBuilder = this._typeUsageBuilder; return parameter; } protected override bool HandleAttribute(XmlReader reader) { if (base.HandleAttribute(reader)) { return true; } else if (CanHandleAttribute(reader, XmlConstants.TypeElement)) { HandleTypeAttribute(reader); return true; } else if (CanHandleAttribute(reader, XmlConstants.Mode)) { HandleModeAttribute(reader); return true; } else if (_typeUsageBuilder.HandleAttribute(reader)) { return true; } return false; } #region Private Methods private void HandleTypeAttribute(XmlReader reader) { Debug.Assert(reader != null); Debug.Assert(UnresolvedType == null); string type; if (!Utils.GetString(Schema, reader, out type)) return; switch (Function.RemoveTypeModifier(ref type)) { case TypeModifier.Array: CollectionKind = CollectionKind.Bag; break; case TypeModifier.None: break; default: AddError(ErrorCode.BadType, EdmSchemaErrorSeverity.Error, System.Data.Entity.Strings.BadTypeModifier(FQName, reader.Value)); break; } if (!Utils.ValidateDottedName(Schema, reader, type)) return; UnresolvedType = type; } private void HandleModeAttribute(XmlReader reader) { Debug.Assert(reader != null); string value = reader.Value; if (String.IsNullOrEmpty(value)) { return; } value = value.Trim(); if (!String.IsNullOrEmpty(value)) { switch (value) { case XmlConstants.In: _parameterDirection = ParameterDirection.Input; break; case XmlConstants.Out: _parameterDirection = ParameterDirection.Output; break; case XmlConstants.InOut: _parameterDirection = ParameterDirection.InputOutput; break; default: { // don't try to identify the parameter by any of the attributes // because we are still parsing attributes, and we don't know which ones // have been parsed yet. int index = ParentElement.Parameters.Count; AddError(ErrorCode.BadParameterDirection, EdmSchemaErrorSeverity.Error, reader, System.Data.Entity.Strings.BadParameterDirection( value, index, this.ParentElement.Name, this.ParentElement.ParentElement.FQName)); } break; } } } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Diagnostics; using System.Xml; using System.Data; using System.Data.Metadata.Edm; using System.Reflection; using System.IO; using System.Globalization; namespace System.Data.EntityModel.SchemaObjectModel { ////// Summary description for StructuredProperty. /// internal class Parameter : FacetEnabledSchemaElement { #region Instance Fields private ParameterDirection _parameterDirection = ParameterDirection.Input; private CollectionKind _collectionKind = CollectionKind.None; #endregion #region constructor ////// /// /// internal Parameter(Function parentElement) : base(parentElement) { _typeUsageBuilder = new TypeUsageBuilder(this); } #endregion #region Public Properties public ParameterDirection ParameterDirection { get { return _parameterDirection; } } public CollectionKind CollectionKind { get { return _collectionKind; } internal set { _collectionKind = value; } } #endregion internal override SchemaElement Clone(SchemaElement parentElement) { Parameter parameter = new Parameter((Function)parentElement); parameter._collectionKind = _collectionKind; parameter._parameterDirection = _parameterDirection; parameter._type = _type; parameter.Name = this.Name; parameter._typeUsageBuilder = this._typeUsageBuilder; return parameter; } protected override bool HandleAttribute(XmlReader reader) { if (base.HandleAttribute(reader)) { return true; } else if (CanHandleAttribute(reader, XmlConstants.TypeElement)) { HandleTypeAttribute(reader); return true; } else if (CanHandleAttribute(reader, XmlConstants.Mode)) { HandleModeAttribute(reader); return true; } else if (_typeUsageBuilder.HandleAttribute(reader)) { return true; } return false; } #region Private Methods private void HandleTypeAttribute(XmlReader reader) { Debug.Assert(reader != null); Debug.Assert(UnresolvedType == null); string type; if (!Utils.GetString(Schema, reader, out type)) return; switch (Function.RemoveTypeModifier(ref type)) { case TypeModifier.Array: CollectionKind = CollectionKind.Bag; break; case TypeModifier.None: break; default: AddError(ErrorCode.BadType, EdmSchemaErrorSeverity.Error, System.Data.Entity.Strings.BadTypeModifier(FQName, reader.Value)); break; } if (!Utils.ValidateDottedName(Schema, reader, type)) return; UnresolvedType = type; } private void HandleModeAttribute(XmlReader reader) { Debug.Assert(reader != null); string value = reader.Value; if (String.IsNullOrEmpty(value)) { return; } value = value.Trim(); if (!String.IsNullOrEmpty(value)) { switch (value) { case XmlConstants.In: _parameterDirection = ParameterDirection.Input; break; case XmlConstants.Out: _parameterDirection = ParameterDirection.Output; break; case XmlConstants.InOut: _parameterDirection = ParameterDirection.InputOutput; break; default: { // don't try to identify the parameter by any of the attributes // because we are still parsing attributes, and we don't know which ones // have been parsed yet. int index = ParentElement.Parameters.Count; AddError(ErrorCode.BadParameterDirection, EdmSchemaErrorSeverity.Error, reader, System.Data.Entity.Strings.BadParameterDirection( value, index, this.ParentElement.Name, this.ParentElement.ParentElement.FQName)); } break; } } } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- GPStream.cs
- WebHttpElement.cs
- HtmlFormWrapper.cs
- ExcCanonicalXml.cs
- CompressEmulationStream.cs
- QuotaThrottle.cs
- OdbcConnectionFactory.cs
- TrackingParameters.cs
- EntityRecordInfo.cs
- SourceFileBuildProvider.cs
- _TransmitFileOverlappedAsyncResult.cs
- Permission.cs
- MarkupExtensionParser.cs
- SafeBitVector32.cs
- CommandLineParser.cs
- PasswordDeriveBytes.cs
- LookupTables.cs
- MoveSizeWinEventHandler.cs
- SingleStorage.cs
- SignalGate.cs
- AbsoluteQuery.cs
- QilLiteral.cs
- GridViewEditEventArgs.cs
- ImageAnimator.cs
- SqlClientFactory.cs
- InputBindingCollection.cs
- TextServicesPropertyRanges.cs
- ExtensionFile.cs
- RecordsAffectedEventArgs.cs
- TagNameToTypeMapper.cs
- FtpWebRequest.cs
- IHttpResponseInternal.cs
- TextContainerHelper.cs
- BitmapEncoder.cs
- Attributes.cs
- DeviceSpecificChoiceCollection.cs
- ToolStripKeyboardHandlingService.cs
- Delegate.cs
- CheckBox.cs
- XmlReaderSettings.cs
- BackgroundWorker.cs
- SubclassTypeValidatorAttribute.cs
- DesignerActionVerbList.cs
- MenuItemStyleCollection.cs
- TypefaceCollection.cs
- WindowsGraphicsWrapper.cs
- XmlWhitespace.cs
- ImageListUtils.cs
- StyleHelper.cs
- LiteralDesigner.cs
- DbConnectionPoolGroupProviderInfo.cs
- CharUnicodeInfo.cs
- IPEndPointCollection.cs
- OrderingQueryOperator.cs
- DesigntimeLicenseContextSerializer.cs
- WindowsTooltip.cs
- MatrixConverter.cs
- CodeVariableDeclarationStatement.cs
- FixedTextPointer.cs
- ParseChildrenAsPropertiesAttribute.cs
- VectorAnimation.cs
- TitleStyle.cs
- WebPartTransformer.cs
- XPathAncestorQuery.cs
- DispatcherEventArgs.cs
- StorageMappingItemLoader.cs
- InProcStateClientManager.cs
- SchemaCreator.cs
- SimpleHandlerFactory.cs
- WebEventTraceProvider.cs
- PropertyGrid.cs
- TextRangeAdaptor.cs
- Asn1IntegerConverter.cs
- AutoGeneratedField.cs
- EtwTrace.cs
- XsltLoader.cs
- PathGeometry.cs
- Debug.cs
- FixedSchema.cs
- GridViewAutomationPeer.cs
- Html32TextWriter.cs
- ComponentEvent.cs
- RemoteWebConfigurationHostStream.cs
- TemplatePropertyEntry.cs
- XmlSchemas.cs
- AssemblyNameEqualityComparer.cs
- PropertyOrder.cs
- SymbolPair.cs
- SchemaTableOptionalColumn.cs
- TrustManager.cs
- ListControlConvertEventArgs.cs
- RegexNode.cs
- ContentPosition.cs
- XmlSignatureProperties.cs
- ProgressBarRenderer.cs
- SessionStateItemCollection.cs
- DataGridViewColumnEventArgs.cs
- DataGridViewCellConverter.cs
- TextRangeProviderWrapper.cs
- RadioButton.cs