StringBuilder GetNamespace(IType type) { this.transform.stringBuilder.Clear(); if (type == null) { return(this.transform.stringBuilder); } return(FullNameCreator.NamespaceSB(type, false, this.transform.stringBuilder)); }
static int AppendTypeNameWithArguments(StringBuilder b, ITypeDefOrRef type, IList <TypeSig> genericArguments) { if (type == null) { return(0); } int outerTypeParameterCount = 0; if (type.DeclaringType != null) { ITypeDefOrRef declType = type.DeclaringType; outerTypeParameterCount = AppendTypeNameWithArguments(b, declType, genericArguments); b.Append('.'); } else { int len = b.Length; FullNameCreator.NamespaceSB(type, true, b); if (len != b.Length) { b.Append('.'); } } int localTypeParameterCount = 0; b.Append(SplitTypeParameterCountFromReflectionName(type.Name, out localTypeParameterCount)); if (localTypeParameterCount > 0) { int totalTypeParameterCount = outerTypeParameterCount + localTypeParameterCount; b.Append('{'); for (int i = outerTypeParameterCount; i < totalTypeParameterCount && i < genericArguments.Count; i++) { if (i > outerTypeParameterCount) { b.Append(','); } AppendTypeName(b, genericArguments[i]); } b.Append('}'); } return(outerTypeParameterCount + localTypeParameterCount); }