string GetTypeKind(Type t)
{
if (t.IsEnum)
{
return("enum");
}
if (t.IsClass)
{
if (t.IsSubclassOf(type_multicast_delegate))
{
return("delegate");
}
else
{
return("class");
}
}
if (t.IsInterface)
{
return("interface");
}
if (t.IsValueType)
{
return("struct");
}
return("class");
}