// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Diagnostics; namespace System.Reflection.Context.Virtual { internal abstract partial class VirtualPropertyBase { protected abstract class FuncPropertyAccessorBase : VirtualMethodBase { protected FuncPropertyAccessorBase(VirtualPropertyBase declaringProperty) { Debug.Assert(null != declaringProperty); DeclaringProperty = declaringProperty; } public CustomReflectionContext ReflectionContext { get { return DeclaringProperty.ReflectionContext; } } public sealed override MethodAttributes Attributes { get { return base.Attributes | MethodAttributes.SpecialName; } } public sealed override Type? DeclaringType { get { return DeclaringProperty.DeclaringType; } } public VirtualPropertyBase DeclaringProperty { get; } } } } |