48 return $"{baseType}`{TypeArguments.Count}";
124 if (!
type.IsGenericParameter)
127 while (
type2.IsNested)
132 if (!
string.IsNullOrEmpty(
type.Namespace))
137 if (
type.IsGenericType && !
type.ContainsGenericParameters)
145 else if (!
type.IsGenericTypeDefinition)
159 if (
string.IsNullOrEmpty(typeName))
161 typeName =
typeof(
void).FullName;
175 if (typeName[
num2--] !=
']')
179 while (
num2 >= 0 && typeName[
num2] ==
',')
184 if (
num2 < 0 || typeName[
num2] !=
'[')
195 if (
num2 > 0 && typeName[
num2--] ==
']')
202 if (typeName[
num2] ==
'[')
209 else if (typeName[
num2] ==
']')
213 else if (typeName[
num2] ==
',' &&
num4 == 1)
217 stack.Push(typeName.Substring(
num2 + 1,
num5 -
num2 - 1));
227 stack.Push(typeName.Substring(
num2 + 1,
num5 -
num2 - 1));
229 while (stack.
Count > 0)
245 for (
int i = 0; i <
list.Count; i++)
257 else if (
list.Count > 0)
263 _baseType = typeName.Substring(0, num + 1);
302 string result = typeName;
306 while (num >= 0 &&
char.IsWhiteSpace(typeName[num]))
312 if (typeName[i] ==
'[' && typeName[num] ==
']')
317 if (typeName[num] !=
']')
322 if (typeName[
num3] ==
',')
327 result = typeName.Substring(i,
num3 - i);
void Add(TKey key, TValue value)
void AddRange(CodeTypeReference[] value)
int Add(CodeTypeReference value)
CodeTypeReference(string typeName, params CodeTypeReference[] typeArguments)
void Initialize(string typeName)
void InitializeFromType(Type type)
CodeTypeReference(Type type)
readonly bool _isInterface
CodeTypeReference(string baseType, int rank)
CodeTypeReference(string typeName, CodeTypeReferenceOptions codeTypeReferenceOption)
string RipOffAssemblyInformationFromTypeName(string typeName)
CodeTypeReference ArrayElementType
CodeTypeReferenceOptions Options
void Initialize(string typeName, CodeTypeReferenceOptions options)
CodeTypeReferenceCollection _typeArguments
CodeTypeReference(string typeName)
CodeTypeReferenceCollection TypeArguments
CodeTypeReference(CodeTypeReference arrayType, int rank)
CodeTypeReference(Type type, CodeTypeReferenceOptions codeTypeReferenceOption)