Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ IsInstanceOfClass()

static unsafe object System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass ( void * toTypeHnd,
object obj )
inlinestaticprivate

Definition at line 204 of file CastHelpers.cs.

205 {
206 if (obj == null || RuntimeHelpers.GetMethodTable(obj) == toTypeHnd)
207 {
208 return obj;
209 }
210 MethodTable* parentMethodTable = RuntimeHelpers.GetMethodTable(obj)->ParentMethodTable;
211 while (parentMethodTable != toTypeHnd)
212 {
213 if (parentMethodTable != null)
214 {
215 parentMethodTable = parentMethodTable->ParentMethodTable;
216 if (parentMethodTable == toTypeHnd)
217 {
218 break;
219 }
220 if (parentMethodTable != null)
221 {
222 parentMethodTable = parentMethodTable->ParentMethodTable;
223 if (parentMethodTable == toTypeHnd)
224 {
225 break;
226 }
227 if (parentMethodTable != null)
228 {
229 parentMethodTable = parentMethodTable->ParentMethodTable;
230 if (parentMethodTable == toTypeHnd)
231 {
232 break;
233 }
234 if (parentMethodTable != null)
235 {
236 parentMethodTable = parentMethodTable->ParentMethodTable;
237 continue;
238 }
239 }
240 }
241 }
242 obj = null;
243 break;
244 }
245 return obj;
246 }

References System.Runtime.CompilerServices.RuntimeHelpers.GetMethodTable(), System.obj, and System.Runtime.CompilerServices.MethodTable.ParentMethodTable.