Route解析中用到的實體類,一些以"Segment”為名的類
先看類圖:
1.PathSegment和PathSubSegment兩個類是基類,沒有任何代碼,分別代表Route規則中Url片段('/'分隔的結果)和Url片段中的子片段('{'和'}'分隔的結果)。
2.SeparatorPathSegment類代表Route規則的Url中的'/',也沒有任何代碼
3.ContentPathSegment類與SeparatorPathSegment類相對應
其有兩個屬性,Subsegments存儲其所包含的PathSubsegment,IsCatchAll表示其是否包含通配的PathSubsegment
internal sealed class ContentPathSegment : PathSegment { // Methods public ContentPathSegment(IList<PathSubsegment> subsegments) { this.Subsegments = subsegments; } // Properties public bool IsCatchAll { get { return this.Subsegments.Any(seg => ((seg is ParameterSubsegment) && ((ParameterSubsegment) seg).IsCatchAll)); } } public IList<PathSubsegment> Subsegments { get; private set; } }