Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
NameTable.cs
Go to the documentation of this file.
3
5
6internal sealed class NameTable : INameScope
7{
9
10 internal object this[XmlQualifiedName qname]
11 {
12 get
13 {
14 if (!_table.TryGetValue(new NameKey(qname.Name, qname.Namespace), out var value))
15 {
16 return null;
17 }
18 return value;
19 }
20 set
21 {
22 _table[new NameKey(qname.Name, qname.Namespace)] = value;
23 }
24 }
25
26 internal object this[string name, string ns]
27 {
28 get
29 {
30 if (!_table.TryGetValue(new NameKey(name, ns), out var value))
31 {
32 return null;
33 }
34 return value;
35 }
36 set
37 {
38 _table[new NameKey(name, ns)] = value;
39 }
40 }
41
42 object INameScope.this[string name, string ns]
43 {
44 get
45 {
46 _table.TryGetValue(new NameKey(name, ns), out var value);
47 return value;
48 }
49 set
50 {
51 _table[new NameKey(name, ns)] = value;
52 }
53 }
54
56
57 internal void Add(XmlQualifiedName qname, object value)
58 {
59 Add(qname.Name, qname.Namespace, value);
60 }
61
62 internal void Add(string name, string ns, object value)
63 {
64 NameKey key = new NameKey(name, ns);
66 }
67
69 {
71 ((ICollection)_table.Values).CopyTo(array, 0);
72 return array;
73 }
74}
static unsafe Array CreateInstance(Type elementType, int length)
Definition Array.cs:473
bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)
void Add(TKey key, TValue value)
void Add(XmlQualifiedName qname, object value)
Definition NameTable.cs:57
readonly Dictionary< NameKey, object > _table
Definition NameTable.cs:8
void Add(string name, string ns, object value)
Definition NameTable.cs:62