Example #1
0
        public MemberAccessor(MemberInfo memberInfo)
        {
            Require.NotNull(memberInfo, "memberInfo");

            Type = memberInfo is PropertyInfo ? MemberAccessorType.Property : MemberAccessorType.Field;
            MemberName = memberInfo.Name;
            DeclaringType = memberInfo.DeclaringType;
            MemberType = memberInfo.GetMemberType();
            Getter = memberInfo.CanRead() ? ReflectionHelpers.CreateWeakMemberGetter(memberInfo) : null;
            Setter = memberInfo.CanWrite() ? ReflectionHelpers.CreateWeakMemberSetter(memberInfo) : null;
        }