internal override Object GetMemberValue(String name) {
if (name.Length == 2 && name[0] == '$') {
char ch = name[1];
switch (ch) {
case '1': case '2': case '3':
case '4': case '5': case '6':
case '7': case '8': case '9': {
if (this.lastRegexMatch == null)
return "";
Group group = this.lastRegexMatch.Groups[ch.ToString()];
return group.Success ? group.ToString() : "";
}
case '`':
return this.GetLeftContext();
case '\'':
return this.GetRightContext();
case '&':
return this.GetLastMatch();
case '+':
return this.GetLastParen();
case '_':
return this.GetInput();
}
}
return base.GetMemberValue(name);
}