Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / Attributes.cs / 1305376 / Attributes.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.Runtime.Serialization
{
using System.Security;
using System.Xml;
class Attributes
{
[Fx.Tag.SecurityNote(Critical = "Static field used to store the attribute names to read during deserialization."
+ " Static fields are marked SecurityCritical or readonly to prevent"
+ " data from being modified or leaked to other components in appdomain.")]
[SecurityCritical]
static XmlDictionaryString[] serializationLocalNames;
[Fx.Tag.SecurityNote(Critical = "Static field used to store the attribute names to read during deserialization."
+ " Static fields are marked SecurityCritical or readonly to prevent"
+ " data from being modified or leaked to other components in appdomain.")]
[SecurityCritical]
static XmlDictionaryString[] schemaInstanceLocalNames;
[Fx.Tag.SecurityNote(Critical = "Initializes critical static fields.",
Safe = "Doesn't leak anything.")]
[SecuritySafeCritical]
static Attributes()
{
serializationLocalNames = new XmlDictionaryString[]
{
DictionaryGlobals.IdLocalName,
DictionaryGlobals.ArraySizeLocalName,
DictionaryGlobals.RefLocalName,
DictionaryGlobals.ClrTypeLocalName,
DictionaryGlobals.ClrAssemblyLocalName,
DictionaryGlobals.ISerializableFactoryTypeLocalName
};
schemaInstanceLocalNames = new XmlDictionaryString[]
{
DictionaryGlobals.XsiNilLocalName,
DictionaryGlobals.XsiTypeLocalName
};
}
internal string Id;
internal string Ref;
internal string XsiTypeName;
internal string XsiTypeNamespace;
internal string XsiTypePrefix;
internal bool XsiNil;
internal string ClrAssembly;
internal string ClrType;
internal int ArraySZSize;
internal string FactoryTypeName;
internal string FactoryTypeNamespace;
internal string FactoryTypePrefix;
internal bool UnrecognizedAttributesFound;
[SecuritySafeCritical]
internal void Read (XmlReaderDelegator reader)
{
Reset();
while (reader.MoveToNextAttribute())
{
switch (reader.IndexOfLocalName(serializationLocalNames, DictionaryGlobals.SerializationNamespace))
{
case 0:
ReadId(reader);
break;
case 1:
ReadArraySize(reader);
break;
case 2:
ReadRef(reader);
break;
case 3:
ClrType = reader.Value;
break;
case 4:
ClrAssembly = reader.Value;
break;
case 5:
ReadFactoryType(reader);
break;
default:
switch (reader.IndexOfLocalName(schemaInstanceLocalNames, DictionaryGlobals.SchemaInstanceNamespace))
{
case 0:
ReadXsiNil(reader);
break;
case 1:
ReadXsiType(reader);
break;
default:
if (!reader.IsNamespaceUri(DictionaryGlobals.XmlnsNamespace))
UnrecognizedAttributesFound = true;
break;
}
break;
}
}
reader.MoveToElement();
}
internal void Reset()
{
Id = Globals.NewObjectId;
Ref = Globals.NewObjectId;
XsiTypeName = null;
XsiTypeNamespace = null;
XsiTypePrefix = null;
XsiNil = false;
ClrAssembly = null;
ClrType = null;
ArraySZSize = -1;
FactoryTypeName = null;
FactoryTypeNamespace = null;
FactoryTypePrefix = null;
UnrecognizedAttributesFound = false;
}
void ReadId(XmlReaderDelegator reader)
{
Id = reader.ReadContentAsString();
if (string.IsNullOrEmpty(Id))
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlObjectSerializer.CreateSerializationException(SR.GetString(SR.InvalidXsIdDefinition, Id)));
}
}
void ReadRef(XmlReaderDelegator reader)
{
Ref = reader.ReadContentAsString();
if (string.IsNullOrEmpty(Ref))
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlObjectSerializer.CreateSerializationException(SR.GetString(SR.InvalidXsRefDefinition, Ref)));
}
}
void ReadXsiNil(XmlReaderDelegator reader)
{
XsiNil = reader.ReadContentAsBoolean();
}
void ReadArraySize(XmlReaderDelegator reader)
{
ArraySZSize = reader.ReadContentAsInt();
if (ArraySZSize < 0)
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlObjectSerializer.CreateSerializationException(SR.GetString(SR.InvalidSizeDefinition, ArraySZSize)));
}
void ReadXsiType(XmlReaderDelegator reader)
{
string xsiTypeString = reader.Value;
if (xsiTypeString != null && xsiTypeString.Length > 0)
XmlObjectSerializerReadContext.ParseQualifiedName(xsiTypeString, reader, out XsiTypeName, out XsiTypeNamespace, out XsiTypePrefix);
}
void ReadFactoryType(XmlReaderDelegator reader)
{
string factoryTypeString = reader.Value;
if (factoryTypeString != null && factoryTypeString.Length > 0)
XmlObjectSerializerReadContext.ParseQualifiedName(factoryTypeString, reader, out FactoryTypeName, out FactoryTypeNamespace, out FactoryTypePrefix);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.Runtime.Serialization
{
using System.Security;
using System.Xml;
class Attributes
{
[Fx.Tag.SecurityNote(Critical = "Static field used to store the attribute names to read during deserialization."
+ " Static fields are marked SecurityCritical or readonly to prevent"
+ " data from being modified or leaked to other components in appdomain.")]
[SecurityCritical]
static XmlDictionaryString[] serializationLocalNames;
[Fx.Tag.SecurityNote(Critical = "Static field used to store the attribute names to read during deserialization."
+ " Static fields are marked SecurityCritical or readonly to prevent"
+ " data from being modified or leaked to other components in appdomain.")]
[SecurityCritical]
static XmlDictionaryString[] schemaInstanceLocalNames;
[Fx.Tag.SecurityNote(Critical = "Initializes critical static fields.",
Safe = "Doesn't leak anything.")]
[SecuritySafeCritical]
static Attributes()
{
serializationLocalNames = new XmlDictionaryString[]
{
DictionaryGlobals.IdLocalName,
DictionaryGlobals.ArraySizeLocalName,
DictionaryGlobals.RefLocalName,
DictionaryGlobals.ClrTypeLocalName,
DictionaryGlobals.ClrAssemblyLocalName,
DictionaryGlobals.ISerializableFactoryTypeLocalName
};
schemaInstanceLocalNames = new XmlDictionaryString[]
{
DictionaryGlobals.XsiNilLocalName,
DictionaryGlobals.XsiTypeLocalName
};
}
internal string Id;
internal string Ref;
internal string XsiTypeName;
internal string XsiTypeNamespace;
internal string XsiTypePrefix;
internal bool XsiNil;
internal string ClrAssembly;
internal string ClrType;
internal int ArraySZSize;
internal string FactoryTypeName;
internal string FactoryTypeNamespace;
internal string FactoryTypePrefix;
internal bool UnrecognizedAttributesFound;
[SecuritySafeCritical]
internal void Read (XmlReaderDelegator reader)
{
Reset();
while (reader.MoveToNextAttribute())
{
switch (reader.IndexOfLocalName(serializationLocalNames, DictionaryGlobals.SerializationNamespace))
{
case 0:
ReadId(reader);
break;
case 1:
ReadArraySize(reader);
break;
case 2:
ReadRef(reader);
break;
case 3:
ClrType = reader.Value;
break;
case 4:
ClrAssembly = reader.Value;
break;
case 5:
ReadFactoryType(reader);
break;
default:
switch (reader.IndexOfLocalName(schemaInstanceLocalNames, DictionaryGlobals.SchemaInstanceNamespace))
{
case 0:
ReadXsiNil(reader);
break;
case 1:
ReadXsiType(reader);
break;
default:
if (!reader.IsNamespaceUri(DictionaryGlobals.XmlnsNamespace))
UnrecognizedAttributesFound = true;
break;
}
break;
}
}
reader.MoveToElement();
}
internal void Reset()
{
Id = Globals.NewObjectId;
Ref = Globals.NewObjectId;
XsiTypeName = null;
XsiTypeNamespace = null;
XsiTypePrefix = null;
XsiNil = false;
ClrAssembly = null;
ClrType = null;
ArraySZSize = -1;
FactoryTypeName = null;
FactoryTypeNamespace = null;
FactoryTypePrefix = null;
UnrecognizedAttributesFound = false;
}
void ReadId(XmlReaderDelegator reader)
{
Id = reader.ReadContentAsString();
if (string.IsNullOrEmpty(Id))
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlObjectSerializer.CreateSerializationException(SR.GetString(SR.InvalidXsIdDefinition, Id)));
}
}
void ReadRef(XmlReaderDelegator reader)
{
Ref = reader.ReadContentAsString();
if (string.IsNullOrEmpty(Ref))
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlObjectSerializer.CreateSerializationException(SR.GetString(SR.InvalidXsRefDefinition, Ref)));
}
}
void ReadXsiNil(XmlReaderDelegator reader)
{
XsiNil = reader.ReadContentAsBoolean();
}
void ReadArraySize(XmlReaderDelegator reader)
{
ArraySZSize = reader.ReadContentAsInt();
if (ArraySZSize < 0)
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlObjectSerializer.CreateSerializationException(SR.GetString(SR.InvalidSizeDefinition, ArraySZSize)));
}
void ReadXsiType(XmlReaderDelegator reader)
{
string xsiTypeString = reader.Value;
if (xsiTypeString != null && xsiTypeString.Length > 0)
XmlObjectSerializerReadContext.ParseQualifiedName(xsiTypeString, reader, out XsiTypeName, out XsiTypeNamespace, out XsiTypePrefix);
}
void ReadFactoryType(XmlReaderDelegator reader)
{
string factoryTypeString = reader.Value;
if (factoryTypeString != null && factoryTypeString.Length > 0)
XmlObjectSerializerReadContext.ParseQualifiedName(factoryTypeString, reader, out FactoryTypeName, out FactoryTypeNamespace, out FactoryTypePrefix);
}
}
}
// 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
- XslException.cs
- XmlDeclaration.cs
- BitmapCodecInfo.cs
- XmlSchemaParticle.cs
- SvcMapFileLoader.cs
- PropertyGridEditorPart.cs
- ObjectQueryProvider.cs
- FileUpload.cs
- BitmapEffectInputConnector.cs
- UnauthorizedAccessException.cs
- SequentialUshortCollection.cs
- DesignerHierarchicalDataSourceView.cs
- Utilities.cs
- DynamicValidatorEventArgs.cs
- BulletChrome.cs
- ToolboxItem.cs
- MainMenu.cs
- PathFigure.cs
- DropShadowBitmapEffect.cs
- MailSettingsSection.cs
- EntityStoreSchemaFilterEntry.cs
- RuntimeHelpers.cs
- IdentityNotMappedException.cs
- SendKeys.cs
- SiteMapNodeItem.cs
- PageCache.cs
- ParsedAttributeCollection.cs
- Int64Converter.cs
- Stackframe.cs
- NetDispatcherFaultException.cs
- CharKeyFrameCollection.cs
- EventData.cs
- Animatable.cs
- ControlEvent.cs
- DisplayNameAttribute.cs
- TailPinnedEventArgs.cs
- SymbolTable.cs
- PermissionRequestEvidence.cs
- XmlSortKeyAccumulator.cs
- QualifiedId.cs
- RegexFCD.cs
- PointHitTestParameters.cs
- QueryRewriter.cs
- SqlSupersetValidator.cs
- ApplicationException.cs
- Type.cs
- SerTrace.cs
- ScrollData.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- ScopelessEnumAttribute.cs
- QilSortKey.cs
- LabelDesigner.cs
- SoapCodeExporter.cs
- FormViewUpdatedEventArgs.cs
- DbConnectionOptions.cs
- Int32AnimationBase.cs
- PropertyRecord.cs
- OuterGlowBitmapEffect.cs
- QilXmlWriter.cs
- TreeNodeConverter.cs
- Attachment.cs
- CodeTypeParameterCollection.cs
- MeasureItemEvent.cs
- Ops.cs
- _AuthenticationState.cs
- SystemIPGlobalStatistics.cs
- DefaultAssemblyResolver.cs
- RadioButtonBaseAdapter.cs
- BindingExpressionBase.cs
- TabItem.cs
- HtmlTableCell.cs
- GacUtil.cs
- UnsafeNativeMethods.cs
- DataViewSettingCollection.cs
- WsdlBuildProvider.cs
- DesignTimeParseData.cs
- SrgsRuleRef.cs
- SqlDependency.cs
- WriteTimeStream.cs
- NoClickablePointException.cs
- XmlCDATASection.cs
- ClientSettingsProvider.cs
- Soap12ServerProtocol.cs
- RowToFieldTransformer.cs
- DeviceSpecificDesigner.cs
- EmptyEnumerable.cs
- SafePEFileHandle.cs
- ExchangeUtilities.cs
- ThreadSafeMessageFilterTable.cs
- TextParagraphCache.cs
- ProfileEventArgs.cs
- InvalidComObjectException.cs
- StructureChangedEventArgs.cs
- ZipIORawDataFileBlock.cs
- TemplateParser.cs
- datacache.cs
- Expressions.cs
- SqlWorkflowInstanceStore.cs
- HtmlMeta.cs
- DataPagerFieldCollection.cs