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(); }
public InlineConstraint(RoutePatternConstraintReference other) { if (other == null) { throw new ArgumentNullException(nameof(other)); } Constraint = other.Content; }