Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- filewebrequest.cs
- ByteStreamMessage.cs
- MultiBinding.cs
- DataGridViewRowsRemovedEventArgs.cs
- TextTrailingWordEllipsis.cs
- EllipseGeometry.cs
- SemanticKeyElement.cs
- ArrayElementGridEntry.cs
- ExceptionUtil.cs
- CodeTypeConstructor.cs
- EditorZone.cs
- ProcessManager.cs
- WorkflowValidationFailedException.cs
- SelectionItemPattern.cs
- HighlightComponent.cs
- InvalidCastException.cs
- FormattedTextSymbols.cs
- COAUTHIDENTITY.cs
- XComponentModel.cs
- TileModeValidation.cs
- TextRunCacheImp.cs
- ToolStripOverflowButton.cs
- Stream.cs
- Vector3D.cs
- SHA512Managed.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- RootBrowserWindowProxy.cs
- FixedSOMElement.cs
- COM2ExtendedUITypeEditor.cs
- ViewGenResults.cs
- ListDesigner.cs
- HttpInputStream.cs
- PrinterSettings.cs
- SQLInt16.cs
- LifetimeServices.cs
- Symbol.cs
- ToolStripSettings.cs
- AppSettingsReader.cs
- MediaScriptCommandRoutedEventArgs.cs
- Grid.cs
- CorePropertiesFilter.cs
- KernelTypeValidation.cs
- UntypedNullExpression.cs
- FileDialog.cs
- TableRow.cs
- FloaterParaClient.cs
- ObjectContextServiceProvider.cs
- BaseCAMarshaler.cs
- BinHexDecoder.cs
- SafeUserTokenHandle.cs
- PageAsyncTaskManager.cs
- FormsAuthenticationEventArgs.cs
- FileVersionInfo.cs
- XmlQueryContext.cs
- FactoryId.cs
- ObjectDataSourceChooseMethodsPanel.cs
- Vector.cs
- AndCondition.cs
- Model3DCollection.cs
- ContextDataSourceContextData.cs
- AdRotator.cs
- WebDisplayNameAttribute.cs
- CodeGroup.cs
- NullableBoolConverter.cs
- SystemIPGlobalStatistics.cs
- CollectionDataContract.cs
- ReadOnlyCollectionBase.cs
- Authorization.cs
- PanelStyle.cs
- Soap12FormatExtensions.cs
- InteropBitmapSource.cs
- IPHostEntry.cs
- ColumnResizeAdorner.cs
- NamespaceCollection.cs
- EtwTrace.cs
- Transform3D.cs
- WebServiceBindingAttribute.cs
- ModuleBuilderData.cs
- ExpandCollapseProviderWrapper.cs
- SuppressMergeCheckAttribute.cs
- CollectionEditVerbManager.cs
- PeerEndPoint.cs
- PanelStyle.cs
- RadialGradientBrush.cs
- XmlEncoding.cs
- NavigationPropertyAccessor.cs
- ListSortDescriptionCollection.cs
- SqlFacetAttribute.cs
- XPathExpr.cs
- StorageComplexPropertyMapping.cs
- RotateTransform.cs
- MarkupCompilePass2.cs
- OneToOneMappingSerializer.cs
- CorrelationTokenInvalidatedHandler.cs
- FilteredXmlReader.cs
- SortKey.cs
- ClientConfigurationHost.cs
- HtmlWindowCollection.cs
- ZipIOBlockManager.cs
- FloaterParaClient.cs