protected virtual string BuildFullName()
{
if (_primitiveName != null) return _primitiveName;
// keep builtin names pretty ('ref int' instead of 'ref System.Int32')
if (_type.IsByRef) return "ref " + ElementType.FullName;
return TypeUtilities.GetFullName(_type);
}