private static void ParseGenericType(String typeAssem, int indexStart, out String typeName, out String assemName)
{
int len = typeAssem.Length;
int depth = 1;
int index = indexStart;
while(depth > 0 && (++index < len - 1))
{
if (typeAssem[index] == '[') {
depth++;
}
else if (typeAssem[index] == ']') {
depth--;
}
}
if (depth > 0 || index >= len) {
typeName = null;
assemName = null;
}
else {
index = typeAssem.IndexOf(',', index);
// comma must be present, and can't be last character
if ((index >= 0) && (index < (len - 1)))
{
typeName = typeAssem.Substring(0, index).Trim();
assemName = typeAssem.Substring(index + 1).Trim();
}
else
{
typeName = null;
assemName = null;
}
}
}