File: System\Reflection\Context\Virtual\VirtualPropertyBase.FuncPropertyAccessorBase.cs
Web Access
Project: src\src\libraries\System.Reflection.Context\src\System.Reflection.Context.csproj (System.Reflection.Context)
// 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; }
        }
    }
}