コード例 #1
0
        public MatchProcessor Create(RoutePatternParameterPart parameter, RoutePatternConstraintReference reference)
        {
            if (reference == null)
            {
                throw new ArgumentNullException(nameof(reference));
            }

            Debug.Assert(reference.MatchProcessor != null || reference.Constraint != null || reference.Content != null);

            if (reference.MatchProcessor != null)
            {
                return(Create(parameter?.Name, reference.MatchProcessor, parameter?.IsOptional ?? false));
            }

            if (reference.Constraint != null)
            {
                return(Create(parameter?.Name, reference.Constraint, parameter?.IsOptional ?? false));
            }

            if (reference.Content != null)
            {
                return(Create(parameter?.Name, reference.Content, parameter?.IsOptional ?? false));
            }

            // Unreachable
            throw new NotSupportedException();
        }
コード例 #2
0
ファイル: InlineConstraint.cs プロジェクト: lion-liu/Routing
        public InlineConstraint(RoutePatternConstraintReference other)
        {
            if (other == null)
            {
                throw new ArgumentNullException(nameof(other));
            }

            Constraint = other.Content;
        }