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
- UserControl.cs
- UriTemplateVariableQueryValue.cs
- StrongNamePublicKeyBlob.cs
- Translator.cs
- PrintPageEvent.cs
- ContainerControl.cs
- LassoHelper.cs
- SchemaElement.cs
- DateTimePicker.cs
- UnmanagedBitmapWrapper.cs
- _BasicClient.cs
- Update.cs
- WizardStepBase.cs
- DefaultValueTypeConverter.cs
- CryptoSession.cs
- ScopeElement.cs
- NaturalLanguageHyphenator.cs
- Table.cs
- Accessible.cs
- FreezableCollection.cs
- RawStylusInputReport.cs
- SuppressMessageAttribute.cs
- HttpBrowserCapabilitiesWrapper.cs
- CodeStatement.cs
- PlatformNotSupportedException.cs
- UpdatableWrapper.cs
- Base64Encoder.cs
- SortKey.cs
- DebugTracing.cs
- DocumentGrid.cs
- ListDictionaryInternal.cs
- InstanceValue.cs
- AppDomainInstanceProvider.cs
- RemoveFromCollection.cs
- Metadata.cs
- ButtonStandardAdapter.cs
- EndOfStreamException.cs
- ConstructorExpr.cs
- LinkConverter.cs
- PeerNameRecord.cs
- SystemSounds.cs
- FilterableAttribute.cs
- Hash.cs
- PageAsyncTask.cs
- UserPersonalizationStateInfo.cs
- FreezableOperations.cs
- RegexBoyerMoore.cs
- WebPartUserCapability.cs
- ReaderOutput.cs
- BulletedList.cs
- KeyGesture.cs
- SqlBuilder.cs
- Currency.cs
- CharKeyFrameCollection.cs
- HtmlElement.cs
- SchemaNames.cs
- HierarchicalDataSourceControl.cs
- DetailsViewRow.cs
- Symbol.cs
- UnmanagedBitmapWrapper.cs
- XmlSignatureManifest.cs
- SplitterEvent.cs
- ParameterModifier.cs
- SchemaAttDef.cs
- TemplateInstanceAttribute.cs
- ClientSession.cs
- IpcClientChannel.cs
- ContentFilePart.cs
- EntityKeyElement.cs
- ComponentEvent.cs
- DeferredElementTreeState.cs
- SynchronizedPool.cs
- FaultCode.cs
- CatalogPartCollection.cs
- XmlLanguage.cs
- ObjectDataSourceView.cs
- PostBackOptions.cs
- TextElementEditingBehaviorAttribute.cs
- CodeDOMUtility.cs
- SqlCacheDependency.cs
- SurrogateSelector.cs
- ClientBuildManager.cs
- SmiContext.cs
- ItemCollection.cs
- QilTernary.cs
- BitmapEncoder.cs
- StateMachine.cs
- NativeMethods.cs
- AdapterDictionary.cs
- MethodExpr.cs
- Array.cs
- FrameSecurityDescriptor.cs
- FileRecordSequence.cs
- ToolStripSettings.cs
- ScrollBar.cs
- CodeDOMProvider.cs
- Missing.cs
- CounterSampleCalculator.cs
- DecoderFallbackWithFailureFlag.cs
- DbDataSourceEnumerator.cs