Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / clr / src / BCL / System / Runtime / Serialization / SerializationFieldInfo.cs / 1 / SerializationFieldInfo.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
/*============================================================
**
** Class: SerializationFieldInfo
**
**
** Purpose: Provides a methods of representing imaginary fields
** which are unique to serialization. In this case, what we're
** representing is the private members of parent classes. We
** aggregate the RuntimeFieldInfo associated with this member
** and return a managled form of the name. The name that we
** return is .parentname.fieldname
**
**
============================================================*/
using System;
using System.Reflection;
using System.Globalization;
namespace System.Runtime.Serialization {
internal sealed class SerializationFieldInfo : FieldInfo {
internal static readonly char FakeNameSeparatorChar = '+';
internal static readonly String FakeNameSeparatorString = "+";
private RuntimeFieldInfo m_field;
private String m_serializationName;
public override Module Module { get { return m_field.Module; } }
public override int MetadataToken { get { return m_field.MetadataToken; } }
internal SerializationFieldInfo(RuntimeFieldInfo field, String namePrefix) {
BCLDebug.Assert(field!=null, "[SerializationFieldInfo.ctor]field!=null");
BCLDebug.Assert(namePrefix!=null, "[SerializationFieldInfo.ctor]namePrefix!=null");
m_field = field;
m_serializationName = String.Concat(namePrefix, FakeNameSeparatorString, m_field.Name);
}
//
// MemberInfo methods
//
public override String Name {
get {
return m_serializationName;
}
}
public override Type DeclaringType {
get {
return m_field.DeclaringType;
}
}
public override Type ReflectedType {
get {
return m_field.ReflectedType;
}
}
public override Object[] GetCustomAttributes(bool inherit) {
return m_field.GetCustomAttributes(inherit);
}
public override Object[] GetCustomAttributes(Type attributeType, bool inherit) {
return m_field.GetCustomAttributes(attributeType, inherit);
}
public override bool IsDefined(Type attributeType, bool inherit) {
return m_field.IsDefined(attributeType, inherit);
}
//
// FieldInfo methods
//
public override Type FieldType {
get {
return m_field.FieldType;
}
}
public override Object GetValue(Object obj) {
return m_field.GetValue(obj);
}
internal Object InternalGetValue(Object obj, bool requiresAccessCheck) {
RtFieldInfo field = m_field as RtFieldInfo;
if (field != null)
return field.InternalGetValue(obj, requiresAccessCheck);
else
return m_field.GetValue(obj);
}
public override void SetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture) {
m_field.SetValue(obj, value, invokeAttr, binder, culture);
}
internal void InternalSetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture, bool requiresAccessCheck, bool isBinderDefault) {
//m_field.InternalSetValue(obj, value, invokeAttr, binder, culture, requiresAccessCheck, isBinderDefault);
RtFieldInfo field = m_field as RtFieldInfo;
if (field != null)
field.InternalSetValue(obj, value, invokeAttr, binder, culture, false);
else
m_field.SetValue(obj, value, invokeAttr, binder, culture);
}
internal RuntimeFieldInfo FieldInfo {
get {
return m_field;
}
}
public override RuntimeFieldHandle FieldHandle {
get {
return m_field.FieldHandle;
}
}
public override FieldAttributes Attributes {
get {
return m_field.Attributes;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
/*============================================================
**
** Class: SerializationFieldInfo
**
**
** Purpose: Provides a methods of representing imaginary fields
** which are unique to serialization. In this case, what we're
** representing is the private members of parent classes. We
** aggregate the RuntimeFieldInfo associated with this member
** and return a managled form of the name. The name that we
** return is .parentname.fieldname
**
**
============================================================*/
using System;
using System.Reflection;
using System.Globalization;
namespace System.Runtime.Serialization {
internal sealed class SerializationFieldInfo : FieldInfo {
internal static readonly char FakeNameSeparatorChar = '+';
internal static readonly String FakeNameSeparatorString = "+";
private RuntimeFieldInfo m_field;
private String m_serializationName;
public override Module Module { get { return m_field.Module; } }
public override int MetadataToken { get { return m_field.MetadataToken; } }
internal SerializationFieldInfo(RuntimeFieldInfo field, String namePrefix) {
BCLDebug.Assert(field!=null, "[SerializationFieldInfo.ctor]field!=null");
BCLDebug.Assert(namePrefix!=null, "[SerializationFieldInfo.ctor]namePrefix!=null");
m_field = field;
m_serializationName = String.Concat(namePrefix, FakeNameSeparatorString, m_field.Name);
}
//
// MemberInfo methods
//
public override String Name {
get {
return m_serializationName;
}
}
public override Type DeclaringType {
get {
return m_field.DeclaringType;
}
}
public override Type ReflectedType {
get {
return m_field.ReflectedType;
}
}
public override Object[] GetCustomAttributes(bool inherit) {
return m_field.GetCustomAttributes(inherit);
}
public override Object[] GetCustomAttributes(Type attributeType, bool inherit) {
return m_field.GetCustomAttributes(attributeType, inherit);
}
public override bool IsDefined(Type attributeType, bool inherit) {
return m_field.IsDefined(attributeType, inherit);
}
//
// FieldInfo methods
//
public override Type FieldType {
get {
return m_field.FieldType;
}
}
public override Object GetValue(Object obj) {
return m_field.GetValue(obj);
}
internal Object InternalGetValue(Object obj, bool requiresAccessCheck) {
RtFieldInfo field = m_field as RtFieldInfo;
if (field != null)
return field.InternalGetValue(obj, requiresAccessCheck);
else
return m_field.GetValue(obj);
}
public override void SetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture) {
m_field.SetValue(obj, value, invokeAttr, binder, culture);
}
internal void InternalSetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture, bool requiresAccessCheck, bool isBinderDefault) {
//m_field.InternalSetValue(obj, value, invokeAttr, binder, culture, requiresAccessCheck, isBinderDefault);
RtFieldInfo field = m_field as RtFieldInfo;
if (field != null)
field.InternalSetValue(obj, value, invokeAttr, binder, culture, false);
else
m_field.SetValue(obj, value, invokeAttr, binder, culture);
}
internal RuntimeFieldInfo FieldInfo {
get {
return m_field;
}
}
public override RuntimeFieldHandle FieldHandle {
get {
return m_field.FieldHandle;
}
}
public override FieldAttributes Attributes {
get {
return m_field.Attributes;
}
}
}
}
// 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
- WebHttpBehavior.cs
- XmlSignatureProperties.cs
- StatusStrip.cs
- MultiPropertyDescriptorGridEntry.cs
- SoapAttributes.cs
- SystemKeyConverter.cs
- KeyBinding.cs
- CodeStatementCollection.cs
- Line.cs
- CompilerLocalReference.cs
- TileBrush.cs
- ScriptControl.cs
- TextElementCollection.cs
- ConnectionManagementElement.cs
- HtmlShimManager.cs
- Adorner.cs
- StopStoryboard.cs
- ImageInfo.cs
- SettingsPropertyNotFoundException.cs
- Rule.cs
- MachineSettingsSection.cs
- ViewPort3D.cs
- FSWPathEditor.cs
- TimelineClockCollection.cs
- Context.cs
- CipherData.cs
- AdPostCacheSubstitution.cs
- FormViewActionList.cs
- XmlSchemaNotation.cs
- FlowDocumentReaderAutomationPeer.cs
- VsPropertyGrid.cs
- MessagePropertyFilter.cs
- WebPartConnectionsCancelVerb.cs
- BinaryNegotiation.cs
- EditorPartChrome.cs
- BaseCollection.cs
- OutOfMemoryException.cs
- CustomAssemblyResolver.cs
- XPathNodeIterator.cs
- HttpModuleActionCollection.cs
- EncoderParameters.cs
- StreamGeometryContext.cs
- ActivityCodeGenerator.cs
- ItemCollection.cs
- StringToken.cs
- DocumentViewerBase.cs
- CatalogZoneBase.cs
- HtmlShimManager.cs
- ConfigDefinitionUpdates.cs
- ViewSimplifier.cs
- MembershipUser.cs
- GcSettings.cs
- bidPrivateBase.cs
- Metadata.cs
- XmlTextEncoder.cs
- WindowsGraphics2.cs
- SystemIPv4InterfaceProperties.cs
- RepeatEnumerable.cs
- WindowsAuthenticationModule.cs
- PolyBezierSegment.cs
- UnmanagedHandle.cs
- WindowsSysHeader.cs
- EncoderFallback.cs
- WebPartConnectionsConfigureVerb.cs
- CorrelationTokenTypeConvertor.cs
- AnnotationResourceCollection.cs
- RightsManagementInformation.cs
- WindowProviderWrapper.cs
- GridViewRowPresenter.cs
- _LocalDataStore.cs
- GeometryDrawing.cs
- BindingExpressionBase.cs
- ReadWriteSpinLock.cs
- BindingNavigator.cs
- BitmapDownload.cs
- CorrelationInitializer.cs
- SetIndexBinder.cs
- EntityDataReader.cs
- EventArgs.cs
- OverflowException.cs
- Baml2006ReaderSettings.cs
- MouseActionConverter.cs
- ActivityFunc.cs
- HatchBrush.cs
- XmlText.cs
- XmlSchemaGroupRef.cs
- PropertyCollection.cs
- _Semaphore.cs
- Base64Stream.cs
- VariableExpressionConverter.cs
- followingsibling.cs
- PageCanvasSize.cs
- XslNumber.cs
- Graphics.cs
- EntityDataSourceQueryBuilder.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- AssociationTypeEmitter.cs
- DataTableMappingCollection.cs
- UniqueIdentifierService.cs
- CodeConditionStatement.cs