Beispiel #1
0
        private TypePolicy Member(string name, ApiAccess access, IMemberRewriter[] rewriters, Action <MemberPolicy> setup)
        {
            Argument.NotNullOrEmpty(nameof(name), name);
            if (Access == ApiAccess.Denied && access != ApiAccess.Denied)
            {
                throw new InvalidOperationException($"Member access ({access}) cannot exceed type access ({Access}).");
            }

            EnsureMembers();
            if (!_members.TryGetValue(name, out var member))
            {
                member = new MemberPolicy(access);
                _members.Add(name, member);
            }
            else
            {
                member.Access = access;
            }
            if (rewriters != null)
            {
                foreach (var rewriter in rewriters)
                {
                    member.AddRewriter(rewriter);
                }
            }
            setup?.Invoke(member);
            return(this);
        }
Beispiel #2
0
        private TypePolicy Member(string name, ApiAccess access, IMemberRewriter[]?rewriters, Action <MemberPolicy>?setup)
        {
            Argument.NotNullOrEmpty(nameof(name), name);
            if (Access == ApiAccess.Denied && access != ApiAccess.Denied)
            {
                throw new InvalidOperationException($"Member access ({access}) cannot exceed type access ({Access}).");
            }

            EnsureMembers();
            if (!_members !.TryGetValue(name, out var member))
            {
                member = new MemberPolicy(access);
                _members.Add(name, member);
            }