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 / Parameter.cs / 1 / 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
- SEHException.cs
- AdornerPresentationContext.cs
- EnvelopedSignatureTransform.cs
- AjaxFrameworkAssemblyAttribute.cs
- UpdateEventArgs.cs
- BitStack.cs
- diagnosticsswitches.cs
- FileUpload.cs
- XmlStreamStore.cs
- PointKeyFrameCollection.cs
- FontUnitConverter.cs
- DLinqAssociationProvider.cs
- TimelineGroup.cs
- ListControl.cs
- SessionState.cs
- DbConnectionFactory.cs
- UIElement.cs
- Expressions.cs
- ColorConvertedBitmapExtension.cs
- IItemContainerGenerator.cs
- ProtectedUri.cs
- WindowsIPAddress.cs
- WindowsAuthenticationEventArgs.cs
- ListBase.cs
- ConfigurationSectionGroupCollection.cs
- DrawingContextDrawingContextWalker.cs
- CurrencyWrapper.cs
- PrtTicket_Base.cs
- LinkConverter.cs
- MsmqVerifier.cs
- FieldTemplateUserControl.cs
- FormViewCommandEventArgs.cs
- XmlDocumentSerializer.cs
- ButtonBaseAdapter.cs
- KeyValuePairs.cs
- ClaimComparer.cs
- KeyValueConfigurationCollection.cs
- XmlSequenceWriter.cs
- BooleanKeyFrameCollection.cs
- XmlException.cs
- HijriCalendar.cs
- ReflectionHelper.cs
- IdentityHolder.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- SqlUserDefinedAggregateAttribute.cs
- HwndHost.cs
- keycontainerpermission.cs
- DataObjectEventArgs.cs
- TableCell.cs
- XmlBoundElement.cs
- Delegate.cs
- SerializationException.cs
- GradientSpreadMethodValidation.cs
- CommonProperties.cs
- DataBindingExpressionBuilder.cs
- APCustomTypeDescriptor.cs
- HttpProfileBase.cs
- Rfc2898DeriveBytes.cs
- TypedTableBase.cs
- InfocardChannelParameter.cs
- CodeTypeParameter.cs
- ActivityExecutorSurrogate.cs
- ProgressBarBrushConverter.cs
- Int32Animation.cs
- GridViewRowCollection.cs
- SqlCaseSimplifier.cs
- ObservableCollection.cs
- PolyQuadraticBezierSegment.cs
- InternalControlCollection.cs
- SourceSwitch.cs
- EdmTypeAttribute.cs
- XmlBinaryWriterSession.cs
- RouteValueExpressionBuilder.cs
- RegistrySecurity.cs
- GenericQueueSurrogate.cs
- FontUnit.cs
- RtType.cs
- GridViewColumnHeaderAutomationPeer.cs
- FillErrorEventArgs.cs
- ConfigurationManager.cs
- HostDesigntimeLicenseContext.cs
- DbConnectionHelper.cs
- GrammarBuilderRuleRef.cs
- WebControlAdapter.cs
- SQLChars.cs
- ProgressBarHighlightConverter.cs
- Utils.cs
- TCEAdapterGenerator.cs
- EntityDataSourceSelectedEventArgs.cs
- NavigationFailedEventArgs.cs
- SvcMapFile.cs
- ReliableChannelFactory.cs
- RequestResizeEvent.cs
- Memoizer.cs
- WebZoneDesigner.cs
- PersonalizableAttribute.cs
- FunctionUpdateCommand.cs
- DbConnectionPoolCounters.cs
- GrammarBuilder.cs
- XsltConvert.cs