public AttributeInfo(string name, string value, AttributeOrderRule orderRule) { this.Name = name; this.Value = value; this.IsMarkupExtension = AttributeInfo.MarkupExtensionPattern.IsMatch(value); this.OrderRule = orderRule; if (this.IsMarkupExtension) { var matchCollection = AttributeInfo.MarkupTypePattern.Matches(value); foreach (Match match in matchCollection) { this.MarkupExtension = match.Groups["type"].Value; } } }