System.Reflection.MonoGenericClass.format_name C# (CSharp) Method

format_name() private method

private format_name ( bool full_name, bool assembly_qualified ) : string
full_name bool
assembly_qualified bool
return string
		string format_name (bool full_name, bool assembly_qualified)
		{
			StringBuilder sb = new StringBuilder (generic_type.FullName);
			bool compiler_ctx = IsCompilerContext;

			sb.Append ("[");
			for (int i = 0; i < type_arguments.Length; ++i) {
				if (i > 0)
					sb.Append (",");
				
				string name;
				if (full_name) {
					string assemblyName = type_arguments [i].Assembly.FullName;
					name = type_arguments [i].FullName;
					if (name != null && assemblyName != null)
						name = name + ", " + assemblyName;
				} else {
					name = type_arguments [i].ToString ();
				}
				if (name == null) {
					if (compiler_ctx && type_arguments [i].IsGenericParameter)
						name = type_arguments [i].Name;
					else
						return null;
				}
				if (full_name)
					sb.Append ("[");
				sb.Append (name);
				if (full_name)
					sb.Append ("]");
			}
			sb.Append ("]");
			if (assembly_qualified) {
				sb.Append (", ");
				sb.Append (generic_type.Assembly.FullName);
			}
			return sb.ToString ();
		}