Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
SignatureConstructedGenericType.cs
Go to the documentation of this file.
1using System.Text;
2
3namespace System.Reflection;
4
6{
7 private readonly Type _genericTypeDefinition;
8
9 private readonly Type[] _genericTypeArguments;
10
11 public sealed override bool IsTypeDefinition => false;
12
13 public sealed override bool IsGenericTypeDefinition => false;
14
15 public sealed override bool IsByRefLike => _genericTypeDefinition.IsByRefLike;
16
17 public sealed override bool IsSZArray => false;
18
19 public sealed override bool IsVariableBoundArray => false;
20
21 public sealed override bool IsConstructedGenericType => true;
22
23 public sealed override bool IsGenericParameter => false;
24
25 public sealed override bool IsGenericTypeParameter => false;
26
27 public sealed override bool IsGenericMethodParameter => false;
28
29 public sealed override bool ContainsGenericParameters
30 {
31 get
32 {
33 for (int i = 0; i < _genericTypeArguments.Length; i++)
34 {
36 {
37 return true;
38 }
39 }
40 return false;
41 }
42 }
43
44 internal sealed override SignatureType ElementType => null;
45
46 public sealed override Type[] GenericTypeArguments => (Type[])_genericTypeArguments.Clone();
47
48 public sealed override int GenericParameterPosition
49 {
50 get
51 {
53 }
54 }
55
56 public sealed override string Name => _genericTypeDefinition.Name;
57
58 public sealed override string Namespace => _genericTypeDefinition.Namespace;
59
60 internal SignatureConstructedGenericType(Type genericTypeDefinition, Type[] typeArguments)
61 {
62 if ((object)genericTypeDefinition == null)
63 {
64 throw new ArgumentNullException("genericTypeDefinition");
65 }
66 if (typeArguments == null)
67 {
68 throw new ArgumentNullException("typeArguments");
69 }
70 typeArguments = (Type[])typeArguments.Clone();
71 for (int i = 0; i < typeArguments.Length; i++)
72 {
73 if ((object)typeArguments[i] == null)
74 {
75 throw new ArgumentNullException("typeArguments");
76 }
77 }
78 _genericTypeDefinition = genericTypeDefinition;
79 _genericTypeArguments = typeArguments;
80 }
81
82 protected sealed override bool HasElementTypeImpl()
83 {
84 return false;
85 }
86
87 protected sealed override bool IsArrayImpl()
88 {
89 return false;
90 }
91
92 protected sealed override bool IsByRefImpl()
93 {
94 return false;
95 }
96
97 protected sealed override bool IsPointerImpl()
98 {
99 return false;
100 }
101
102 public sealed override int GetArrayRank()
103 {
105 }
106
107 public sealed override Type GetGenericTypeDefinition()
108 {
110 }
111
112 public sealed override Type[] GetGenericArguments()
113 {
115 }
116
117 public sealed override string ToString()
118 {
119 StringBuilder stringBuilder = new StringBuilder();
120 stringBuilder.Append(_genericTypeDefinition.ToString());
121 stringBuilder.Append('[');
122 for (int i = 0; i < _genericTypeArguments.Length; i++)
123 {
124 if (i != 0)
125 {
126 stringBuilder.Append(',');
127 }
128 stringBuilder.Append(_genericTypeArguments[i].ToString());
129 }
130 stringBuilder.Append(']');
131 return stringBuilder.ToString();
132 }
133}
SignatureConstructedGenericType(Type genericTypeDefinition, Type[] typeArguments)
static string Arg_NotGenericParameter
Definition SR.cs:346
static string Argument_HasToBeArrayClass
Definition SR.cs:614
Definition SR.cs:7
override string ToString()
StringBuilder Append(char value, int repeatCount)
string? Namespace
Definition Type.cs:43
virtual bool IsByRefLike
Definition Type.cs:136
override string ToString()
Definition Type.cs:1108