1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
using System;
namespace Monodoc
{
public static class TypeUtils
{
public static bool GetNamespaceAndType (string url, out string ns, out string type)
{
int nsidx = -1;
int numLt = 0;
for (int i = 0; i < url.Length; ++i) {
char c = url [i];
switch (c) {
case '<':
case '{':
++numLt;
break;
case '>':
case '}':
--numLt;
break;
case '.':
if (numLt == 0)
nsidx = i;
break;
}
}
if (nsidx == -1) {
ns = null;
type = null;
return false;
}
ns = url.Substring (0, nsidx);
type = url.Substring (nsidx + 1);
return true;
}
}
}
|