38 lines
1021 B
C#
38 lines
1021 B
C#
|
namespace System.Web.Routing {
|
|||
|
|
|||
|
// Represents a parameter subsegment of a ContentPathSegment
|
|||
|
internal sealed class ParameterSubsegment : PathSubsegment {
|
|||
|
public ParameterSubsegment(string parameterName) {
|
|||
|
if (parameterName.StartsWith("*", StringComparison.Ordinal)) {
|
|||
|
ParameterName = parameterName.Substring(1);
|
|||
|
IsCatchAll = true;
|
|||
|
}
|
|||
|
else {
|
|||
|
ParameterName = parameterName;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public bool IsCatchAll {
|
|||
|
get;
|
|||
|
private set;
|
|||
|
}
|
|||
|
|
|||
|
public string ParameterName {
|
|||
|
get;
|
|||
|
private set;
|
|||
|
}
|
|||
|
|
|||
|
#if ROUTE_DEBUGGING
|
|||
|
public override string LiteralText {
|
|||
|
get {
|
|||
|
return "{" + (IsCatchAll ? "*" : String.Empty) + ParameterName + "}";
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public override string ToString() {
|
|||
|
return "{" + (IsCatchAll ? "*" : String.Empty) + ParameterName + "}";
|
|||
|
}
|
|||
|
#endif
|
|||
|
}
|
|||
|
}
|