Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
AppDomain.cs
Go to the documentation of this file.
4using System.IO;
13
14namespace System;
15
16public sealed class AppDomain : MarshalByRefObject
17{
18 private static readonly AppDomain s_domain = new AppDomain();
19
21
23
24 private Func<IPrincipal> s_getWindowsPrincipal;
25
26 private Func<IPrincipal> s_getUnauthenticatedPrincipal;
27
29
31
32 public string? RelativeSearchPath => null;
33
35
36 [Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")]
38
39 public string? DynamicDirectory => null;
40
41 public string FriendlyName
42 {
43 get
44 {
45 Assembly entryAssembly = Assembly.GetEntryAssembly();
46 if (!(entryAssembly != null))
47 {
48 return "DefaultDomain";
49 }
50 return entryAssembly.GetName().Name;
51 }
52 }
53
54 public int Id => 1;
55
56 public bool IsFullyTrusted => true;
57
58 public bool IsHomogenous => true;
59
60 public static bool MonitoringIsEnabled
61 {
62 get
63 {
64 return true;
65 }
66 set
67 {
68 if (!value)
69 {
71 }
72 }
73 }
74
76
78 {
79 get
80 {
81 GCMemoryInfo gCMemoryInfo = GC.GetGCMemoryInfo();
82 return gCMemoryInfo.HeapSizeBytes - gCMemoryInfo.FragmentedBytes;
83 }
84 }
85
87
88 public bool ShadowCopyFiles => false;
89
91 {
92 get
93 {
94 if (!Interop.Kernel32.GetProcessTimes(Interop.Kernel32.GetCurrentProcess(), out var _, out var _, out var _, out var user))
95 {
96 return TimeSpan.Zero;
97 }
98 return new TimeSpan(user);
99 }
100 }
101
103 {
104 add
105 {
106 AppContext.UnhandledException += value;
107 }
108 remove
109 {
110 AppContext.UnhandledException -= value;
111 }
112 }
113
114 public event EventHandler? DomainUnload;
115
116 public event EventHandler<FirstChanceExceptionEventArgs>? FirstChanceException
117 {
118 add
119 {
120 AppContext.FirstChanceException += value;
121 }
122 remove
123 {
124 AppContext.FirstChanceException -= value;
125 }
126 }
127
128 public event EventHandler? ProcessExit
129 {
130 add
131 {
132 AppContext.ProcessExit += value;
133 }
134 remove
135 {
136 AppContext.ProcessExit -= value;
137 }
138 }
139
141 {
142 add
143 {
144 AssemblyLoadContext.AssemblyLoad += value;
145 }
146 remove
147 {
148 AssemblyLoadContext.AssemblyLoad -= value;
149 }
150 }
151
153 {
154 add
155 {
156 AssemblyLoadContext.AssemblyResolve += value;
157 }
158 remove
159 {
160 AssemblyLoadContext.AssemblyResolve -= value;
161 }
162 }
163
165
167 {
168 add
169 {
170 AssemblyLoadContext.TypeResolve += value;
171 }
172 remove
173 {
174 AssemblyLoadContext.TypeResolve -= value;
175 }
176 }
177
179 {
180 add
181 {
182 AssemblyLoadContext.ResourceResolve += value;
183 }
184 remove
185 {
186 AssemblyLoadContext.ResourceResolve -= value;
187 }
188 }
189
190 private AppDomain()
191 {
192 }
193
194 [Obsolete("AppDomain.SetDynamicBase has been deprecated and is not supported.")]
195 public void SetDynamicBase(string? path)
196 {
197 }
198
199 public string ApplyPolicy(string assemblyName)
200 {
201 if (assemblyName == null)
202 {
203 throw new ArgumentNullException("assemblyName");
204 }
205 if (assemblyName.Length == 0 || assemblyName[0] == '\0')
206 {
207 throw new ArgumentException(SR.Argument_StringZeroLength, "assemblyName");
208 }
209 return assemblyName;
210 }
211
212 [Obsolete("Creating and unloading AppDomains is not supported and throws an exception.", DiagnosticId = "SYSLIB0024", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")]
213 public static AppDomain CreateDomain(string friendlyName)
214 {
215 if (friendlyName == null)
216 {
217 throw new ArgumentNullException("friendlyName");
218 }
220 }
221
222 [RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
223 public int ExecuteAssembly(string assemblyFile)
224 {
225 return ExecuteAssembly(assemblyFile, null);
226 }
227
228 [RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
229 public int ExecuteAssembly(string assemblyFile, string?[]? args)
230 {
231 if (assemblyFile == null)
232 {
233 throw new ArgumentNullException("assemblyFile");
234 }
235 string fullPath = Path.GetFullPath(assemblyFile);
236 Assembly assembly = Assembly.LoadFile(fullPath);
237 return ExecuteAssembly(assembly, args);
238 }
239
240 [RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
241 [Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")]
242 public int ExecuteAssembly(string assemblyFile, string?[]? args, byte[]? hashValue, AssemblyHashAlgorithm hashAlgorithm)
243 {
245 }
246
247 private static int ExecuteAssembly(Assembly assembly, string[] args)
248 {
249 MethodInfo entryPoint = assembly.EntryPoint;
250 if (entryPoint == null)
251 {
253 }
254 object obj = entryPoint.Invoke(null, BindingFlags.DoNotWrapExceptions, null, (entryPoint.GetParameters().Length == 0) ? null : new object[1] { args }, null);
255 if (obj == null)
256 {
257 return 0;
258 }
259 return (int)obj;
260 }
261
262 public int ExecuteAssemblyByName(AssemblyName assemblyName, params string?[]? args)
263 {
264 return ExecuteAssembly(Assembly.Load(assemblyName), args);
265 }
266
267 public int ExecuteAssemblyByName(string assemblyName)
268 {
269 return ExecuteAssemblyByName(assemblyName, (string?[]?)null);
270 }
271
272 public int ExecuteAssemblyByName(string assemblyName, params string?[]? args)
273 {
274 return ExecuteAssembly(Assembly.Load(assemblyName), args);
275 }
276
277 public object? GetData(string name)
278 {
279 return AppContext.GetData(name);
280 }
281
282 public void SetData(string name, object? data)
283 {
284 AppContext.SetData(name, data);
285 }
286
287 public bool? IsCompatibilitySwitchSet(string value)
288 {
289 if (!AppContext.TryGetSwitch(value, out var isEnabled))
290 {
291 return null;
292 }
293 return isEnabled;
294 }
295
296 public bool IsDefaultAppDomain()
297 {
298 return true;
299 }
300
302 {
303 return false;
304 }
305
306 public override string ToString()
307 {
308 return SR.AppDomain_Name + FriendlyName + "\r\n" + SR.AppDomain_NoContextPolicies;
309 }
310
311 [Obsolete("Creating and unloading AppDomains is not supported and throws an exception.", DiagnosticId = "SYSLIB0024", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")]
312 public static void Unload(AppDomain domain)
313 {
314 if (domain == null)
315 {
316 throw new ArgumentNullException("domain");
317 }
319 }
320
321 [RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
322 public Assembly Load(byte[] rawAssembly)
323 {
324 return Assembly.Load(rawAssembly);
325 }
326
327 [RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
328 public Assembly Load(byte[] rawAssembly, byte[]? rawSymbolStore)
329 {
330 return Assembly.Load(rawAssembly, rawSymbolStore);
331 }
332
333 public Assembly Load(AssemblyName assemblyRef)
334 {
335 return Assembly.Load(assemblyRef);
336 }
337
338 public Assembly Load(string assemblyString)
339 {
340 return Assembly.Load(assemblyString);
341 }
342
344 {
345 return Array.Empty<Assembly>();
346 }
347
348 [Obsolete("AppDomain.GetCurrentThreadId has been deprecated because it does not provide a stable Id when managed threads are running on fibers (aka lightweight threads). To get a stable identifier for a managed thread, use the ManagedThreadId property on Thread instead.")]
349 public static int GetCurrentThreadId()
350 {
352 }
353
354 [Obsolete("AppDomain.AppendPrivatePath has been deprecated and is not supported.")]
355 public void AppendPrivatePath(string? path)
356 {
357 }
358
359 [Obsolete("AppDomain.ClearPrivatePath has been deprecated and is not supported.")]
360 public void ClearPrivatePath()
361 {
362 }
363
364 [Obsolete("AppDomain.ClearShadowCopyPath has been deprecated and is not supported.")]
366 {
367 }
368
369 [Obsolete("AppDomain.SetCachePath has been deprecated and is not supported.")]
370 public void SetCachePath(string? path)
371 {
372 }
373
374 [Obsolete("AppDomain.SetShadowCopyFiles has been deprecated and is not supported.")]
375 public void SetShadowCopyFiles()
376 {
377 }
378
379 [Obsolete("AppDomain.SetShadowCopyPath has been deprecated and is not supported.")]
380 public void SetShadowCopyPath(string? path)
381 {
382 }
383
385 {
387 }
388
390 {
391 _principalPolicy = policy;
392 }
393
394 public void SetThreadPrincipal(IPrincipal principal)
395 {
396 if (principal == null)
397 {
398 throw new ArgumentNullException("principal");
399 }
400 if (Interlocked.CompareExchange(ref _defaultPrincipal, principal, null) != null)
401 {
403 }
404 }
405
406 [RequiresUnreferencedCode("Type and its constructor could be removed")]
407 public ObjectHandle? CreateInstance(string assemblyName, string typeName)
408 {
409 if (assemblyName == null)
410 {
411 throw new ArgumentNullException("assemblyName");
412 }
413 return Activator.CreateInstance(assemblyName, typeName);
414 }
415
416 [RequiresUnreferencedCode("Type and its constructor could be removed")]
417 public ObjectHandle? CreateInstance(string assemblyName, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder? binder, object?[]? args, CultureInfo? culture, object?[]? activationAttributes)
418 {
419 if (assemblyName == null)
420 {
421 throw new ArgumentNullException("assemblyName");
422 }
423 return Activator.CreateInstance(assemblyName, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes);
424 }
425
426 [RequiresUnreferencedCode("Type and its constructor could be removed")]
427 public ObjectHandle? CreateInstance(string assemblyName, string typeName, object?[]? activationAttributes)
428 {
429 if (assemblyName == null)
430 {
431 throw new ArgumentNullException("assemblyName");
432 }
433 return Activator.CreateInstance(assemblyName, typeName, activationAttributes);
434 }
435
436 [RequiresUnreferencedCode("Type and its constructor could be removed")]
437 public object? CreateInstanceAndUnwrap(string assemblyName, string typeName)
438 {
439 return CreateInstance(assemblyName, typeName)?.Unwrap();
440 }
441
442 [RequiresUnreferencedCode("Type and its constructor could be removed")]
443 public object? CreateInstanceAndUnwrap(string assemblyName, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder? binder, object?[]? args, CultureInfo? culture, object?[]? activationAttributes)
444 {
445 return CreateInstance(assemblyName, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes)?.Unwrap();
446 }
447
448 [RequiresUnreferencedCode("Type and its constructor could be removed")]
449 public object? CreateInstanceAndUnwrap(string assemblyName, string typeName, object?[]? activationAttributes)
450 {
451 return CreateInstance(assemblyName, typeName, activationAttributes)?.Unwrap();
452 }
453
454 [RequiresUnreferencedCode("Type and its constructor could be removed")]
455 public ObjectHandle? CreateInstanceFrom(string assemblyFile, string typeName)
456 {
457 return Activator.CreateInstanceFrom(assemblyFile, typeName);
458 }
459
460 [RequiresUnreferencedCode("Type and its constructor could be removed")]
461 public ObjectHandle? CreateInstanceFrom(string assemblyFile, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder? binder, object?[]? args, CultureInfo? culture, object?[]? activationAttributes)
462 {
463 return Activator.CreateInstanceFrom(assemblyFile, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes);
464 }
465
466 [RequiresUnreferencedCode("Type and its constructor could be removed")]
467 public ObjectHandle? CreateInstanceFrom(string assemblyFile, string typeName, object?[]? activationAttributes)
468 {
469 return Activator.CreateInstanceFrom(assemblyFile, typeName, activationAttributes);
470 }
471
472 [RequiresUnreferencedCode("Type and its constructor could be removed")]
473 public object? CreateInstanceFromAndUnwrap(string assemblyFile, string typeName)
474 {
475 return CreateInstanceFrom(assemblyFile, typeName)?.Unwrap();
476 }
477
478 [RequiresUnreferencedCode("Type and its constructor could be removed")]
479 public object? CreateInstanceFromAndUnwrap(string assemblyFile, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder? binder, object?[]? args, CultureInfo? culture, object?[]? activationAttributes)
480 {
481 return CreateInstanceFrom(assemblyFile, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes)?.Unwrap();
482 }
483
484 [RequiresUnreferencedCode("Type and its constructor could be removed")]
485 public object? CreateInstanceFromAndUnwrap(string assemblyFile, string typeName, object?[]? activationAttributes)
486 {
487 return CreateInstanceFrom(assemblyFile, typeName, activationAttributes)?.Unwrap();
488 }
489
491 {
492 IPrincipal principal = _defaultPrincipal;
493 if (principal == null)
494 {
495 switch (_principalPolicy)
496 {
497 case PrincipalPolicy.UnauthenticatedPrincipal:
499 {
500 Type type2 = Type.GetType("System.Security.Principal.GenericPrincipal, System.Security.Claims", throwOnError: true);
501 MethodInfo method2 = type2.GetMethod("GetDefaultInstance", BindingFlags.Static | BindingFlags.NonPublic);
502 Volatile.Write(ref s_getUnauthenticatedPrincipal, method2.CreateDelegate<Func<IPrincipal>>());
503 }
504 principal = s_getUnauthenticatedPrincipal();
505 break;
506 case PrincipalPolicy.WindowsPrincipal:
507 if (s_getWindowsPrincipal == null)
508 {
509 Type type = Type.GetType("System.Security.Principal.WindowsPrincipal, System.Security.Principal.Windows", throwOnError: true);
510 MethodInfo method = type.GetMethod("GetDefaultInstance", BindingFlags.Static | BindingFlags.NonPublic);
511 if (method == null)
512 {
514 }
515 Volatile.Write(ref s_getWindowsPrincipal, method.CreateDelegate<Func<IPrincipal>>());
516 }
517 principal = s_getWindowsPrincipal();
518 break;
519 }
520 }
521 return principal;
522 }
523}
static bool GetProcessTimes(SafeProcessHandle handle, out long creation, out long exit, out long kernel, out long user)
static IntPtr GetCurrentProcess()
static ? ObjectHandle CreateInstanceFrom(string assemblyFile, string typeName)
Definition Activator.cs:44
static ? object CreateInstance([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors|DynamicallyAccessedMemberTypes.NonPublicConstructors)] Type type, BindingFlags bindingAttr, Binder? binder, object?[]? args, CultureInfo? culture)
Definition Activator.cs:17
static string BaseDirectory
Definition AppContext.cs:21
static ? object GetData(string name)
Definition AppContext.cs:31
static void SetData(string name, object? data)
Definition AppContext.cs:48
static bool TryGetSwitch(string switchName, out bool isEnabled)
Definition AppContext.cs:74
object? CreateInstanceFromAndUnwrap(string assemblyFile, string typeName, object?[]? activationAttributes)
Definition AppDomain.cs:485
string BaseDirectory
Definition AppDomain.cs:30
object? CreateInstanceFromAndUnwrap(string assemblyFile, string typeName)
Definition AppDomain.cs:473
Func< IPrincipal > s_getUnauthenticatedPrincipal
Definition AppDomain.cs:26
bool IsDefaultAppDomain()
Definition AppDomain.cs:296
object? CreateInstanceAndUnwrap(string assemblyName, string typeName, object?[]? activationAttributes)
Definition AppDomain.cs:449
int ExecuteAssembly(string assemblyFile, string?[]? args)
Definition AppDomain.cs:229
bool IsFinalizingForUnload()
Definition AppDomain.cs:301
static int ExecuteAssembly(Assembly assembly, string[] args)
Definition AppDomain.cs:247
void SetData(string name, object? data)
Definition AppDomain.cs:282
AppDomainSetup SetupInformation
Definition AppDomain.cs:34
void SetShadowCopyFiles()
Definition AppDomain.cs:375
Assembly Load(byte[] rawAssembly, byte[]? rawSymbolStore)
Definition AppDomain.cs:328
void SetShadowCopyPath(string? path)
Definition AppDomain.cs:380
static int GetCurrentThreadId()
Definition AppDomain.cs:349
bool? IsCompatibilitySwitchSet(string value)
Definition AppDomain.cs:287
ResolveEventHandler? ReflectionOnlyAssemblyResolve
Definition AppDomain.cs:164
void ClearShadowCopyPath()
Definition AppDomain.cs:365
EventHandler< FirstChanceExceptionEventArgs >? FirstChanceException
Definition AppDomain.cs:117
long MonitoringSurvivedMemorySize
Definition AppDomain.cs:75
int ExecuteAssembly(string assemblyFile, string?[]? args, byte[]? hashValue, AssemblyHashAlgorithm hashAlgorithm)
Definition AppDomain.cs:242
ObjectHandle? CreateInstanceFrom(string assemblyFile, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder? binder, object?[]? args, CultureInfo? culture, object?[]? activationAttributes)
Definition AppDomain.cs:461
Assembly[] GetAssemblies()
Definition AppDomain.cs:384
ResolveEventHandler? AssemblyResolve
Definition AppDomain.cs:153
EventHandler? DomainUnload
Definition AppDomain.cs:114
long MonitoringTotalAllocatedMemorySize
Definition AppDomain.cs:86
void SetPrincipalPolicy(PrincipalPolicy policy)
Definition AppDomain.cs:389
int ExecuteAssemblyByName(AssemblyName assemblyName, params string?[]? args)
Definition AppDomain.cs:262
object? GetData(string name)
Definition AppDomain.cs:277
ObjectHandle? CreateInstance(string assemblyName, string typeName, object?[]? activationAttributes)
Definition AppDomain.cs:427
ObjectHandle? CreateInstance(string assemblyName, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder? binder, object?[]? args, CultureInfo? culture, object?[]? activationAttributes)
Definition AppDomain.cs:417
void SetThreadPrincipal(IPrincipal principal)
Definition AppDomain.cs:394
static AppDomain CreateDomain(string friendlyName)
Definition AppDomain.cs:213
string ApplyPolicy(string assemblyName)
Definition AppDomain.cs:199
TimeSpan MonitoringTotalProcessorTime
Definition AppDomain.cs:91
ObjectHandle? CreateInstanceFrom(string assemblyFile, string typeName, object?[]? activationAttributes)
Definition AppDomain.cs:467
ObjectHandle? CreateInstanceFrom(string assemblyFile, string typeName)
Definition AppDomain.cs:455
ResolveEventHandler? ResourceResolve
Definition AppDomain.cs:179
string? DynamicDirectory
Definition AppDomain.cs:39
static long MonitoringSurvivedProcessMemorySize
Definition AppDomain.cs:78
PrincipalPolicy _principalPolicy
Definition AppDomain.cs:22
int ExecuteAssemblyByName(string assemblyName)
Definition AppDomain.cs:267
Assembly Load(string assemblyString)
Definition AppDomain.cs:338
static void Unload(AppDomain domain)
Definition AppDomain.cs:312
static readonly AppDomain s_domain
Definition AppDomain.cs:18
UnhandledExceptionEventHandler? UnhandledException
Definition AppDomain.cs:103
int ExecuteAssemblyByName(string assemblyName, params string?[]? args)
Definition AppDomain.cs:272
void AppendPrivatePath(string? path)
Definition AppDomain.cs:355
object? CreateInstanceFromAndUnwrap(string assemblyFile, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder? binder, object?[]? args, CultureInfo? culture, object?[]? activationAttributes)
Definition AppDomain.cs:479
string? RelativeSearchPath
Definition AppDomain.cs:32
string FriendlyName
Definition AppDomain.cs:42
void SetDynamicBase(string? path)
Definition AppDomain.cs:195
Func< IPrincipal > s_getWindowsPrincipal
Definition AppDomain.cs:24
ResolveEventHandler? TypeResolve
Definition AppDomain.cs:167
Assembly Load(AssemblyName assemblyRef)
Definition AppDomain.cs:333
void ClearPrivatePath()
Definition AppDomain.cs:360
Assembly[] ReflectionOnlyGetAssemblies()
Definition AppDomain.cs:343
void SetCachePath(string? path)
Definition AppDomain.cs:370
PermissionSet PermissionSet
Definition AppDomain.cs:37
override string ToString()
Definition AppDomain.cs:306
IPrincipal GetThreadPrincipal()
Definition AppDomain.cs:490
ObjectHandle? CreateInstance(string assemblyName, string typeName)
Definition AppDomain.cs:407
static AppDomain CurrentDomain
Definition AppDomain.cs:28
EventHandler? ProcessExit
Definition AppDomain.cs:129
static bool MonitoringIsEnabled
Definition AppDomain.cs:61
object? CreateInstanceAndUnwrap(string assemblyName, string typeName)
Definition AppDomain.cs:437
Assembly Load(byte[] rawAssembly)
Definition AppDomain.cs:322
IPrincipal _defaultPrincipal
Definition AppDomain.cs:20
AssemblyLoadEventHandler? AssemblyLoad
Definition AppDomain.cs:141
object? CreateInstanceAndUnwrap(string assemblyName, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder? binder, object?[]? args, CultureInfo? culture, object?[]? activationAttributes)
Definition AppDomain.cs:443
int ExecuteAssembly(string assemblyFile)
Definition AppDomain.cs:223
static int CurrentManagedThreadId
static long GetTotalAllocatedBytes(bool precise=false)
static GCMemoryInfo GetGCMemoryInfo()
Definition GC.cs:37
Definition GC.cs:8
static string GetFullPath(string path)
Definition Path.cs:881
virtual AssemblyName GetName()
Definition Assembly.cs:294
virtual ? MethodInfo EntryPoint
Definition Assembly.cs:66
static Assembly Load(string assemblyString)
Definition Assembly.cs:157
static ? Assembly GetEntryAssembly()
Definition Assembly.cs:486
static Assembly LoadFile(string path)
Definition Assembly.cs:518
ParameterInfo[] GetParameters()
object? Invoke(object? obj, object?[]? parameters)
virtual Delegate CreateDelegate(Type delegateType)
Definition MethodInfo.cs:48
static string Arg_PlatformNotSupported
Definition SR.cs:372
static string Arg_EntryPointNotFoundException
Definition SR.cs:138
static string PlatformNotSupported_CAS
Definition SR.cs:54
static string Argument_StringZeroLength
Definition SR.cs:882
static string AppDomain_Policy_PrincipalTwice
Definition SR.cs:54
static string Arg_MustBeTrue
Definition SR.cs:304
static string PlatformNotSupported_Principal
Definition SR.cs:1808
static string PlatformNotSupported_AppDomains
Definition SR.cs:1804
static string AppDomain_NoContextPolicies
Definition SR.cs:52
Definition SR.cs:7
static int CompareExchange(ref int location1, int value, int comparand)
static void Write(ref bool location, bool value)
Definition Volatile.cs:74
static ? Type GetType(string typeName, bool throwOnError, bool ignoreCase)
Definition Type.cs:408
MethodInfo? GetMethod(string name)
Definition Type.cs:675
delegate? Assembly ResolveEventHandler(object? sender, ResolveEventArgs args)
delegate void UnhandledExceptionEventHandler(object sender, UnhandledExceptionEventArgs e)
delegate void AssemblyLoadEventHandler(object? sender, AssemblyLoadEventArgs args)
static readonly TimeSpan Zero
Definition TimeSpan.cs:21