Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
TypeDelegator.cs
Go to the documentation of this file.
3
4namespace System.Reflection;
5
6public class TypeDelegator : TypeInfo
7{
8 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)]
9 protected Type typeImpl;
10
11 public override Guid GUID => typeImpl.GUID;
12
13 public override int MetadataToken => typeImpl.MetadataToken;
14
15 public override Module Module => typeImpl.Module;
16
17 public override Assembly Assembly => typeImpl.Assembly;
18
20
21 public override string Name => typeImpl.Name;
22
23 public override string? FullName => typeImpl.FullName;
24
25 public override string? Namespace => typeImpl.Namespace;
26
28
29 public override Type? BaseType => typeImpl.BaseType;
30
32
33 public override bool IsSZArray => typeImpl.IsSZArray;
34
36
38
40
41 public override bool IsByRefLike => typeImpl.IsByRefLike;
42
44
45 public override bool IsCollectible => typeImpl.IsCollectible;
46
48
49 public override bool IsAssignableFrom([NotNullWhen(true)] TypeInfo? typeInfo)
50 {
51 if (typeInfo == null)
52 {
53 return false;
54 }
55 return IsAssignableFrom(typeInfo.AsType());
56 }
57
58 protected TypeDelegator()
59 {
60 }
61
62 public TypeDelegator([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] Type delegatingType)
63 {
64 if ((object)delegatingType == null)
65 {
66 throw new ArgumentNullException("delegatingType");
67 }
68 typeImpl = delegatingType;
69 }
70
71 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)]
72 public override object? InvokeMember(string name, BindingFlags invokeAttr, Binder? binder, object? target, object?[]? args, ParameterModifier[]? modifiers, CultureInfo? culture, string[]? namedParameters)
73 {
74 return typeImpl.InvokeMember(name, invokeAttr, binder, target, args, modifiers, culture, namedParameters);
75 }
76
77 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)]
78 protected override ConstructorInfo? GetConstructorImpl(BindingFlags bindingAttr, Binder? binder, CallingConventions callConvention, Type[] types, ParameterModifier[]? modifiers)
79 {
80 return typeImpl.GetConstructor(bindingAttr, binder, callConvention, types, modifiers);
81 }
82
83 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)]
84 public override ConstructorInfo[] GetConstructors(BindingFlags bindingAttr)
85 {
86 return typeImpl.GetConstructors(bindingAttr);
87 }
88
89 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicMethods | DynamicallyAccessedMemberTypes.NonPublicMethods)]
90 protected override MethodInfo? GetMethodImpl(string name, BindingFlags bindingAttr, Binder? binder, CallingConventions callConvention, Type[]? types, ParameterModifier[]? modifiers)
91 {
92 if (types == null)
93 {
94 return typeImpl.GetMethod(name, bindingAttr);
95 }
96 return typeImpl.GetMethod(name, bindingAttr, binder, callConvention, types, modifiers);
97 }
98
99 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicMethods | DynamicallyAccessedMemberTypes.NonPublicMethods)]
100 public override MethodInfo[] GetMethods(BindingFlags bindingAttr)
101 {
102 return typeImpl.GetMethods(bindingAttr);
103 }
104
105 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields)]
106 public override FieldInfo? GetField(string name, BindingFlags bindingAttr)
107 {
108 return typeImpl.GetField(name, bindingAttr);
109 }
110
111 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields)]
112 public override FieldInfo[] GetFields(BindingFlags bindingAttr)
113 {
114 return typeImpl.GetFields(bindingAttr);
115 }
116
117 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.Interfaces)]
118 [return: DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.Interfaces)]
119 public override Type? GetInterface(string name, bool ignoreCase)
120 {
121 return typeImpl.GetInterface(name, ignoreCase);
122 }
123
124 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.Interfaces)]
125 public override Type[] GetInterfaces()
126 {
127 return typeImpl.GetInterfaces();
128 }
129
130 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicEvents | DynamicallyAccessedMemberTypes.NonPublicEvents)]
131 public override EventInfo? GetEvent(string name, BindingFlags bindingAttr)
132 {
133 return typeImpl.GetEvent(name, bindingAttr);
134 }
135
136 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicEvents)]
137 public override EventInfo[] GetEvents()
138 {
139 return typeImpl.GetEvents();
140 }
141
142 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties)]
143 protected override PropertyInfo? GetPropertyImpl(string name, BindingFlags bindingAttr, Binder? binder, Type? returnType, Type[]? types, ParameterModifier[]? modifiers)
144 {
145 if (returnType == null && types == null)
146 {
147 return typeImpl.GetProperty(name, bindingAttr);
148 }
149 return typeImpl.GetProperty(name, bindingAttr, binder, returnType, types, modifiers);
150 }
151
152 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties)]
153 public override PropertyInfo[] GetProperties(BindingFlags bindingAttr)
154 {
155 return typeImpl.GetProperties(bindingAttr);
156 }
157
158 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicEvents | DynamicallyAccessedMemberTypes.NonPublicEvents)]
159 public override EventInfo[] GetEvents(BindingFlags bindingAttr)
160 {
161 return typeImpl.GetEvents(bindingAttr);
162 }
163
164 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicNestedTypes | DynamicallyAccessedMemberTypes.NonPublicNestedTypes)]
165 public override Type[] GetNestedTypes(BindingFlags bindingAttr)
166 {
167 return typeImpl.GetNestedTypes(bindingAttr);
168 }
169
170 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicNestedTypes | DynamicallyAccessedMemberTypes.NonPublicNestedTypes)]
171 public override Type? GetNestedType(string name, BindingFlags bindingAttr)
172 {
173 return typeImpl.GetNestedType(name, bindingAttr);
174 }
175
176 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors | DynamicallyAccessedMemberTypes.PublicMethods | DynamicallyAccessedMemberTypes.NonPublicMethods | DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicNestedTypes | DynamicallyAccessedMemberTypes.NonPublicNestedTypes | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties | DynamicallyAccessedMemberTypes.PublicEvents | DynamicallyAccessedMemberTypes.NonPublicEvents)]
177 public override MemberInfo[] GetMember(string name, MemberTypes type, BindingFlags bindingAttr)
178 {
179 return typeImpl.GetMember(name, type, bindingAttr);
180 }
181
182 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors | DynamicallyAccessedMemberTypes.PublicMethods | DynamicallyAccessedMemberTypes.NonPublicMethods | DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicNestedTypes | DynamicallyAccessedMemberTypes.NonPublicNestedTypes | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties | DynamicallyAccessedMemberTypes.PublicEvents | DynamicallyAccessedMemberTypes.NonPublicEvents)]
183 public override MemberInfo[] GetMembers(BindingFlags bindingAttr)
184 {
185 return typeImpl.GetMembers(bindingAttr);
186 }
187
192
194 {
195 return typeImpl.Attributes;
196 }
197
198 protected override bool IsArrayImpl()
199 {
200 return typeImpl.IsArray;
201 }
202
203 protected override bool IsPrimitiveImpl()
204 {
205 return typeImpl.IsPrimitive;
206 }
207
208 protected override bool IsByRefImpl()
209 {
210 return typeImpl.IsByRef;
211 }
212
213 protected override bool IsPointerImpl()
214 {
215 return typeImpl.IsPointer;
216 }
217
218 protected override bool IsValueTypeImpl()
219 {
220 return typeImpl.IsValueType;
221 }
222
223 protected override bool IsCOMObjectImpl()
224 {
225 return typeImpl.IsCOMObject;
226 }
227
228 public override Type? GetElementType()
229 {
230 return typeImpl.GetElementType();
231 }
232
233 protected override bool HasElementTypeImpl()
234 {
236 }
237
238 public override object[] GetCustomAttributes(bool inherit)
239 {
240 return typeImpl.GetCustomAttributes(inherit);
241 }
242
243 public override object[] GetCustomAttributes(Type attributeType, bool inherit)
244 {
245 return typeImpl.GetCustomAttributes(attributeType, inherit);
246 }
247
248 public override bool IsDefined(Type attributeType, bool inherit)
249 {
250 return typeImpl.IsDefined(attributeType, inherit);
251 }
252
253 public override InterfaceMapping GetInterfaceMap([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicMethods | DynamicallyAccessedMemberTypes.NonPublicMethods)] Type interfaceType)
254 {
255 return typeImpl.GetInterfaceMap(interfaceType);
256 }
257}
bool IsDefined(Type attributeType, bool inherit)
object[] GetCustomAttributes(bool inherit)
override Type[] GetNestedTypes(BindingFlags bindingAttr)
override PropertyInfo[] GetProperties(BindingFlags bindingAttr)
override bool IsDefined(Type attributeType, bool inherit)
override MemberInfo[] GetMembers(BindingFlags bindingAttr)
override MemberInfo GetMemberWithSameMetadataDefinitionAs(MemberInfo member)
override RuntimeTypeHandle TypeHandle
override MethodInfo[] GetMethods(BindingFlags bindingAttr)
override FieldInfo[] GetFields(BindingFlags bindingAttr)
override? object InvokeMember(string name, BindingFlags invokeAttr, Binder? binder, object? target, object?[]? args, ParameterModifier[]? modifiers, CultureInfo? culture, string[]? namedParameters)
override? string AssemblyQualifiedName
override EventInfo[] GetEvents()
override? EventInfo GetEvent(string name, BindingFlags bindingAttr)
override MemberInfo[] GetMember(string name, MemberTypes type, BindingFlags bindingAttr)
override? Type GetInterface(string name, bool ignoreCase)
override EventInfo[] GetEvents(BindingFlags bindingAttr)
override? Type GetNestedType(string name, BindingFlags bindingAttr)
override? ConstructorInfo GetConstructorImpl(BindingFlags bindingAttr, Binder? binder, CallingConventions callConvention, Type[] types, ParameterModifier[]? modifiers)
override ConstructorInfo[] GetConstructors(BindingFlags bindingAttr)
override TypeAttributes GetAttributeFlagsImpl()
override object[] GetCustomAttributes(bool inherit)
override? PropertyInfo GetPropertyImpl(string name, BindingFlags bindingAttr, Binder? binder, Type? returnType, Type[]? types, ParameterModifier[]? modifiers)
override bool IsAssignableFrom([NotNullWhen(true)] TypeInfo? typeInfo)
TypeDelegator([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] Type delegatingType)
override object[] GetCustomAttributes(Type attributeType, bool inherit)
override? MethodInfo GetMethodImpl(string name, BindingFlags bindingAttr, Binder? binder, CallingConventions callConvention, Type[]? types, ParameterModifier[]? modifiers)
override? FieldInfo GetField(string name, BindingFlags bindingAttr)
override InterfaceMapping GetInterfaceMap([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicMethods|DynamicallyAccessedMemberTypes.NonPublicMethods)] Type interfaceType)
virtual Type AsType()
Definition TypeInfo.cs:106
Type? GetElementType()
bool IsValueType
Definition Type.cs:234
TypeAttributes Attributes
Definition Type.cs:173
bool IsPointer
Definition Type.cs:75
Type UnderlyingSystemType
Definition Type.cs:61
EventInfo? GetEvent(string name)
Definition Type.cs:589
PropertyInfo? GetProperty(string name)
Definition Type.cs:815
Type? GetInterface(string name)
Definition Type.cs:1003
virtual bool IsGenericTypeParameter
Definition Type.cs:88
bool IsCOMObject
Definition Type.cs:223
FieldInfo? GetField(string name)
Definition Type.cs:607
virtual bool IsConstructedGenericType
Definition Type.cs:78
bool IsArray
Definition Type.cs:71
virtual MemberInfo GetMemberWithSameMetadataDefinitionAs(MemberInfo member)
Definition Type.cs:649
virtual bool IsVariableBoundArray
Definition Type.cs:124
FieldInfo[] GetFields()
Definition Type.cs:616
object? InvokeMember(string name, BindingFlags invokeAttr, Binder? binder, object? target, object?[]? args)
Definition Type.cs:985
ConstructorInfo? GetConstructor(Type[] types)
Definition Type.cs:542
PropertyInfo[] GetProperties()
Definition Type.cs:877
Type[] GetNestedTypes()
Definition Type.cs:806
string? Namespace
Definition Type.cs:43
bool IsPrimitive
Definition Type.cs:231
virtual bool IsGenericMethodParameter
Definition Type.cs:100
Assembly Assembly
Definition Type.cs:49
virtual bool IsSZArray
Definition Type.cs:116
virtual bool IsTypeDefinition
Definition Type.cs:64
Type? GetNestedType(string name)
Definition Type.cs:797
bool HasElementType
Definition Type.cs:143
virtual bool IsByRefLike
Definition Type.cs:136
Type? BaseType
Definition Type.cs:295
string? AssemblyQualifiedName
Definition Type.cs:45
string? FullName
Definition Type.cs:47
Type[] GetInterfaces()
MethodInfo[] GetMethods()
Definition Type.cs:788
virtual InterfaceMapping GetInterfaceMap([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicMethods|DynamicallyAccessedMemberTypes.NonPublicMethods)] Type interfaceType)
Definition Type.cs:1015
Guid GUID
Definition Type.cs:293
MethodInfo? GetMethod(string name)
Definition Type.cs:675
bool IsByRef
Definition Type.cs:73
ConstructorInfo[] GetConstructors()
Definition Type.cs:580
MemberInfo[] GetMember(string name)
Definition Type.cs:625
new Module Module
Definition Type.cs:51
MemberInfo[] GetMembers()
Definition Type.cs:643
virtual RuntimeTypeHandle TypeHandle
Definition Type.cs:286
virtual EventInfo[] GetEvents()
Definition Type.cs:598