private PathPart ParseVariable(string variable) { string[] parts = variable.Split(':'); if (parts.Length > 2) { throw new ArgumentException("More than one ':' in variable declaration."); } string variableName = parts[0]; PathPartKind kind = PathPartKind.UserItem; Type variableType = null; if (parts.Length == 2) { if (parts[1].Equals("path", StringComparison.OrdinalIgnoreCase)) { kind = PathPartKind.VariablePath; variableType = typeof(string); } else { variableType = ParseType(parts[1]); } } else { variableType = typeof(String); } PathPart pp = new PathPart(kind, variableName, variableType); return(pp); }
public PathPart(PathPartKind kind, string name, Type type) { mKind = kind; mName = name; mType = type; }