diff options
Diffstat (limited to 'src/System.Private.Reflection.Core/src/System/Reflection/Runtime/FieldInfos/RuntimeFieldInfo.cs')
-rw-r--r-- | src/System.Private.Reflection.Core/src/System/Reflection/Runtime/FieldInfos/RuntimeFieldInfo.cs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/System.Private.Reflection.Core/src/System/Reflection/Runtime/FieldInfos/RuntimeFieldInfo.cs b/src/System.Private.Reflection.Core/src/System/Reflection/Runtime/FieldInfos/RuntimeFieldInfo.cs index a7aebcd76..7be9abd89 100644 --- a/src/System.Private.Reflection.Core/src/System/Reflection/Runtime/FieldInfos/RuntimeFieldInfo.cs +++ b/src/System.Private.Reflection.Core/src/System/Reflection/Runtime/FieldInfos/RuntimeFieldInfo.cs @@ -48,11 +48,12 @@ namespace System.Reflection.Runtime.FieldInfos // // We don't report any DeclaredMembers for arrays or generic parameters so those don't apply. // - private RuntimeFieldInfo(FieldHandle fieldHandle, RuntimeNamedTypeInfo definingTypeInfo, RuntimeTypeInfo contextTypeInfo) + private RuntimeFieldInfo(FieldHandle fieldHandle, RuntimeNamedTypeInfo definingTypeInfo, RuntimeTypeInfo contextTypeInfo, RuntimeTypeInfo reflectedType) { _fieldHandle = fieldHandle; _definingTypeInfo = definingTypeInfo; _contextTypeInfo = contextTypeInfo; + _reflectedType = reflectedType; _reader = definingTypeInfo.Reader; _field = fieldHandle.GetField(_reader); } @@ -143,6 +144,14 @@ namespace System.Reflection.Runtime.FieldInfos } } + public sealed override Type ReflectedType + { + get + { + return _reflectedType; + } + } + public sealed override void SetValue(object obj, object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture) { #if ENABLE_REFLECTION_TRACE @@ -175,6 +184,8 @@ namespace System.Reflection.Runtime.FieldInfos return false; if (!(_contextTypeInfo.Equals(other._contextTypeInfo))) return false; + if (!(_reflectedType.Equals(other._reflectedType))) + return false; return true; } @@ -265,6 +276,7 @@ namespace System.Reflection.Runtime.FieldInfos private readonly RuntimeNamedTypeInfo _definingTypeInfo; private readonly FieldHandle _fieldHandle; private readonly RuntimeTypeInfo _contextTypeInfo; + private readonly RuntimeTypeInfo _reflectedType; private readonly MetadataReader _reader; private readonly Field _field; |