Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
EarlyBoundInfo.cs
Go to the documentation of this file.
3
5
6internal sealed class EarlyBoundInfo
7{
8 private readonly string _namespaceUri;
9
10 private readonly ConstructorInfo _constrInfo;
11
12 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
13 private readonly Type _ebType;
14
15 public string NamespaceUri => _namespaceUri;
16
17 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
19
20 public EarlyBoundInfo(string namespaceUri, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] Type ebType)
21 {
22 _namespaceUri = namespaceUri;
24 _constrInfo = ebType.GetConstructor(Type.EmptyTypes);
25 }
26
27 public object CreateObject()
28 {
29 return _constrInfo.Invoke(Array.Empty<object>());
30 }
31
32 public override bool Equals(object obj)
33 {
35 {
36 return false;
37 }
38 if (_namespaceUri == earlyBoundInfo._namespaceUri)
39 {
40 return _constrInfo == earlyBoundInfo._constrInfo;
41 }
42 return false;
43 }
44
45 public override int GetHashCode()
46 {
47 return _namespaceUri.GetHashCode();
48 }
49}
object Invoke(object?[]? parameters)
static readonly Type[] EmptyTypes
Definition Type.cs:19
EarlyBoundInfo(string namespaceUri, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] Type ebType)
override bool Equals(object obj)
readonly ConstructorInfo _constrInfo