Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Sequence.cs
- Accessible.cs
- ActivityXRefPropertyEditor.cs
- IMembershipProvider.cs
- ASCIIEncoding.cs
- ColumnMap.cs
- UnsignedPublishLicense.cs
- BindableAttribute.cs
- WebPartUserCapability.cs
- ResourceType.cs
- SessionStateItemCollection.cs
- RegionInfo.cs
- BuildManagerHost.cs
- TraceListener.cs
- PropertyDescriptorComparer.cs
- ReachPrintTicketSerializer.cs
- RankException.cs
- FormsAuthenticationConfiguration.cs
- SiteMapNode.cs
- EntityContainerAssociationSetEnd.cs
- ReflectTypeDescriptionProvider.cs
- XmlSerializerVersionAttribute.cs
- StrongTypingException.cs
- MutexSecurity.cs
- WebCodeGenerator.cs
- AuthenticationService.cs
- SettingsPropertyIsReadOnlyException.cs
- QilGenerator.cs
- DeploymentExceptionMapper.cs
- DbSetClause.cs
- BlurEffect.cs
- DataGridColumnEventArgs.cs
- DataGridPagerStyle.cs
- XmlSchemaSet.cs
- LinqExpressionNormalizer.cs
- SimpleHandlerFactory.cs
- XmlSchemaChoice.cs
- CollectionViewGroupInternal.cs
- ModifiableIteratorCollection.cs
- BindingElementCollection.cs
- WinCategoryAttribute.cs
- SwitchLevelAttribute.cs
- CodeExpressionCollection.cs
- DbMetaDataFactory.cs
- MissingFieldException.cs
- ProtocolsConfigurationHandler.cs
- AuthenticationModulesSection.cs
- SupportsEventValidationAttribute.cs
- DiagnosticsConfigurationHandler.cs
- ObjectDataSourceFilteringEventArgs.cs
- NullReferenceException.cs
- Soap.cs
- ButtonPopupAdapter.cs
- Logging.cs
- TypeEnumerableViewSchema.cs
- UserPreferenceChangedEventArgs.cs
- TypeValidationEventArgs.cs
- HotCommands.cs
- IntSecurity.cs
- VisualStyleInformation.cs
- PropertyPathWorker.cs
- OrthographicCamera.cs
- ItemTypeToolStripMenuItem.cs
- ImagingCache.cs
- StopStoryboard.cs
- LambdaCompiler.Expressions.cs
- HMACSHA512.cs
- ToolBarButtonClickEvent.cs
- XmlSchemaSimpleTypeList.cs
- Int32Converter.cs
- RuntimeHelpers.cs
- dataprotectionpermission.cs
- NumericUpDownAcceleration.cs
- DataBoundControlParameterTarget.cs
- CellRelation.cs
- VirtualPathUtility.cs
- ContextMenu.cs
- COM2PropertyPageUITypeConverter.cs
- ImageIndexConverter.cs
- Solver.cs
- FlowDocumentPageViewerAutomationPeer.cs
- LocalizationParserHooks.cs
- DynamicILGenerator.cs
- UmAlQuraCalendar.cs
- Triplet.cs
- MatrixCamera.cs
- TypeGeneratedEventArgs.cs
- MultitargetUtil.cs
- ChannelBinding.cs
- ClosureBinding.cs
- DBNull.cs
- Page.cs
- DebugView.cs
- TextPointerBase.cs
- DynamicRenderer.cs
- PrincipalPermission.cs
- User.cs
- XomlSerializationHelpers.cs
- ArrayItemReference.cs
- HighlightVisual.cs