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
- ChildTable.cs
- ContourSegment.cs
- Math.cs
- PolicyChain.cs
- BuildManagerHost.cs
- FaultDesigner.cs
- ScopedMessagePartSpecification.cs
- MatrixCamera.cs
- dbenumerator.cs
- PropertyChangedEventManager.cs
- COAUTHINFO.cs
- PlatformCulture.cs
- TransactionManager.cs
- XmlSchemaDocumentation.cs
- UTF7Encoding.cs
- XamlReaderHelper.cs
- AggregateNode.cs
- HostedElements.cs
- XmlSerializerNamespaces.cs
- CookieProtection.cs
- TextBlock.cs
- FrugalMap.cs
- SqlUDTStorage.cs
- ServerValidateEventArgs.cs
- OperationPerformanceCounters.cs
- AppSecurityManager.cs
- Helpers.cs
- TranslateTransform.cs
- IPHostEntry.cs
- DataServiceSaveChangesEventArgs.cs
- DataGridCheckBoxColumn.cs
- CommandSet.cs
- HandleCollector.cs
- ClickablePoint.cs
- ScopeElementCollection.cs
- AuthorizationRuleCollection.cs
- PerformanceCounterManager.cs
- ConfigurationSectionGroup.cs
- SettingsPropertyValue.cs
- HttpCacheParams.cs
- FigureParagraph.cs
- SecUtil.cs
- COM2IDispatchConverter.cs
- RelationHandler.cs
- PerfCounters.cs
- FrameworkObject.cs
- DataTemplateSelector.cs
- FormViewUpdatedEventArgs.cs
- BamlTreeUpdater.cs
- SplayTreeNode.cs
- NumberFormatter.cs
- EmptyCollection.cs
- EntityStoreSchemaGenerator.cs
- Debugger.cs
- SwitchAttribute.cs
- URLString.cs
- SlotInfo.cs
- XmlWrappingWriter.cs
- WindowShowOrOpenTracker.cs
- ExpressionBuilderContext.cs
- SessionPageStatePersister.cs
- Match.cs
- PasswordTextNavigator.cs
- UserControl.cs
- PropertyInformation.cs
- FileSystemInfo.cs
- CompiledXpathExpr.cs
- TagNameToTypeMapper.cs
- BindToObject.cs
- CapabilitiesUse.cs
- PropertyEmitter.cs
- HandlerFactoryCache.cs
- Misc.cs
- ManagedFilter.cs
- CollectionChangeEventArgs.cs
- StateMachineDesignerPaint.cs
- DbgUtil.cs
- Interlocked.cs
- ClientApiGenerator.cs
- DesignerListAdapter.cs
- Logging.cs
- DesignerDataSchemaClass.cs
- SystemTcpConnection.cs
- ObjectTokenCategory.cs
- ProtocolViolationException.cs
- XmlSchemaSimpleTypeUnion.cs
- CodeTypeReferenceCollection.cs
- Page.cs
- JavascriptCallbackBehaviorAttribute.cs
- HttpServerVarsCollection.cs
- UnionCodeGroup.cs
- PageContentAsyncResult.cs
- ResourceReferenceExpressionConverter.cs
- Html32TextWriter.cs
- ConfigXmlComment.cs
- MultiAsyncResult.cs
- ListViewInsertEventArgs.cs
- IntellisenseTextBox.cs
- DBCommandBuilder.cs
- NameValueCollection.cs