Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / clr / src / BCL / System / Runtime / Serialization / ValueTypeFixupInfo.cs / 1 / ValueTypeFixupInfo.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: ValueTypeFixupInfo ** ** Purpose: Information about an object required to do a value-type ** fixup. This includes the id of the containing object and the ** member info (if the containing body is an object or value type) ** or the array indices (if the containing body is an array.) ** ============================================================*/ namespace System.Runtime.Serialization { using System.Reflection; internal class ValueTypeFixupInfo { //The id of the containing body. This could be a regular //object, another value type, or an array. For obvious reasons, //the containing body can never have both a FieldInfo and //an array index. private long m_containerID; //The FieldInfo into the containing body. This will only //apply if the containing body is a field info or another //value type. private FieldInfo m_parentField; //The array index of the index into the parent. This will only //apply if the containing body is an array. private int[] m_parentIndex; public ValueTypeFixupInfo(long containerID, FieldInfo member, int[] parentIndex) { BCLDebug.Trace("SER", "[ValueTypeFixupInfo.ctor]Creating a VTFI with Container ID: ", containerID, " and MemberInfo ", member); if (containerID==0 && member==null) { m_containerID = containerID; m_parentField = member; m_parentIndex = parentIndex; } //If both member and arrayIndex are null, we don't have enough information to create //a tunnel to do the fixup. if (member==null && parentIndex==null) { throw new ArgumentException(Environment.GetResourceString("Argument_MustSupplyParent")); } //If the member isn't null, we know that they supplied a MemberInfo as the parent. This means //that the arrayIndex must be null because we can't have a FieldInfo into an array. if (member!=null) { if (parentIndex!=null) { throw new ArgumentException(Environment.GetResourceString("Argument_MemberAndArray")); } if (((((FieldInfo)member).FieldType).IsValueType) && containerID==0) { throw new ArgumentException(Environment.GetResourceString("Argument_MustSupplyContainer")); } } m_containerID=containerID; m_parentField = (FieldInfo)member; m_parentIndex = parentIndex; } public long ContainerID { get { return m_containerID; } } public FieldInfo ParentField { get { return m_parentField; } } public int[] ParentIndex { get { return m_parentIndex; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: ValueTypeFixupInfo ** ** Purpose: Information about an object required to do a value-type ** fixup. This includes the id of the containing object and the ** member info (if the containing body is an object or value type) ** or the array indices (if the containing body is an array.) ** ============================================================*/ namespace System.Runtime.Serialization { using System.Reflection; internal class ValueTypeFixupInfo { //The id of the containing body. This could be a regular //object, another value type, or an array. For obvious reasons, //the containing body can never have both a FieldInfo and //an array index. private long m_containerID; //The FieldInfo into the containing body. This will only //apply if the containing body is a field info or another //value type. private FieldInfo m_parentField; //The array index of the index into the parent. This will only //apply if the containing body is an array. private int[] m_parentIndex; public ValueTypeFixupInfo(long containerID, FieldInfo member, int[] parentIndex) { BCLDebug.Trace("SER", "[ValueTypeFixupInfo.ctor]Creating a VTFI with Container ID: ", containerID, " and MemberInfo ", member); if (containerID==0 && member==null) { m_containerID = containerID; m_parentField = member; m_parentIndex = parentIndex; } //If both member and arrayIndex are null, we don't have enough information to create //a tunnel to do the fixup. if (member==null && parentIndex==null) { throw new ArgumentException(Environment.GetResourceString("Argument_MustSupplyParent")); } //If the member isn't null, we know that they supplied a MemberInfo as the parent. This means //that the arrayIndex must be null because we can't have a FieldInfo into an array. if (member!=null) { if (parentIndex!=null) { throw new ArgumentException(Environment.GetResourceString("Argument_MemberAndArray")); } if (((((FieldInfo)member).FieldType).IsValueType) && containerID==0) { throw new ArgumentException(Environment.GetResourceString("Argument_MustSupplyContainer")); } } m_containerID=containerID; m_parentField = (FieldInfo)member; m_parentIndex = parentIndex; } public long ContainerID { get { return m_containerID; } } public FieldInfo ParentField { get { return m_parentField; } } public int[] ParentIndex { get { return m_parentIndex; } } } } // 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
- DataGridViewSelectedCellCollection.cs
- RMEnrollmentPage3.cs
- CfgRule.cs
- HandlerFactoryCache.cs
- CharacterBuffer.cs
- LicFileLicenseProvider.cs
- SqlDataAdapter.cs
- MeasurementDCInfo.cs
- TrustManager.cs
- ApplicationDirectoryMembershipCondition.cs
- UnsafeNativeMethods.cs
- SetterTriggerConditionValueConverter.cs
- EventSinkHelperWriter.cs
- PropertyChangedEventArgs.cs
- Helper.cs
- HttpApplicationFactory.cs
- arabicshape.cs
- XPathNode.cs
- HttpValueCollection.cs
- ButtonBaseAdapter.cs
- BodyGlyph.cs
- InkCanvasSelection.cs
- FileFormatException.cs
- MemberAccessException.cs
- StyleBamlTreeBuilder.cs
- ReadWriteObjectLock.cs
- TextRangeProviderWrapper.cs
- StringValidator.cs
- XmlAttribute.cs
- GeometryModel3D.cs
- SBCSCodePageEncoding.cs
- WebPartRestoreVerb.cs
- MobileUserControlDesigner.cs
- LinqDataSourceSelectEventArgs.cs
- EntityDataSourceChangedEventArgs.cs
- SimpleHandlerBuildProvider.cs
- ToggleButton.cs
- SectionUpdates.cs
- MasterPageParser.cs
- ServiceAppDomainAssociationProvider.cs
- Sequence.cs
- AssemblyNameProxy.cs
- PersistenceContextEnlistment.cs
- HostedBindingBehavior.cs
- ToolstripProfessionalRenderer.cs
- GCHandleCookieTable.cs
- columnmapkeybuilder.cs
- FrameworkElementFactory.cs
- TextFormatterHost.cs
- FieldBuilder.cs
- HashSetDebugView.cs
- GetPageCompletedEventArgs.cs
- SessionParameter.cs
- DataViewSetting.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- OletxCommittableTransaction.cs
- ValidationEventArgs.cs
- GregorianCalendar.cs
- XmlLanguage.cs
- SequenceNumber.cs
- SmtpClient.cs
- ClientUIRequest.cs
- HttpPostLocalhostServerProtocol.cs
- _RequestCacheProtocol.cs
- TimerElapsedEvenArgs.cs
- SqlConnectionManager.cs
- SqlRowUpdatingEvent.cs
- WebPartEditorOkVerb.cs
- FlatButtonAppearance.cs
- FileChangesMonitor.cs
- CustomGrammar.cs
- UITypeEditor.cs
- XmlNode.cs
- ToolStripPanelRenderEventArgs.cs
- AnnotationHelper.cs
- columnmapfactory.cs
- CodePageUtils.cs
- CompModSwitches.cs
- PointHitTestResult.cs
- TypefaceMetricsCache.cs
- FileDetails.cs
- Tile.cs
- ObjectHelper.cs
- cryptoapiTransform.cs
- DataServiceCollectionOfT.cs
- ContourSegment.cs
- CompositeClientFormatter.cs
- FileLevelControlBuilderAttribute.cs
- Configuration.cs
- RtfNavigator.cs
- RequestCachePolicy.cs
- UserPreferenceChangingEventArgs.cs
- CompositeActivityTypeDescriptor.cs
- AspNetSynchronizationContext.cs
- SafeNativeMethods.cs
- SafeRegistryKey.cs
- __Error.cs
- TextBoxBaseDesigner.cs
- Script.cs
- XmlHierarchicalDataSourceView.cs