192 lines
3.9 KiB
C#
192 lines
3.9 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace System.Runtime.Remoting.Channels
|
|
{
|
|
// Token: 0x0200038E RID: 910
|
|
[ComVisible(true)]
|
|
internal class AggregateDictionary : IEnumerable, ICollection, IDictionary
|
|
{
|
|
// Token: 0x06002526 RID: 9510 RVA: 0x0007B3A4 File Offset: 0x000795A4
|
|
public AggregateDictionary(IDictionary[] dics)
|
|
{
|
|
this.dictionaries = dics;
|
|
}
|
|
|
|
// Token: 0x06002527 RID: 9511 RVA: 0x0007B3B4 File Offset: 0x000795B4
|
|
IEnumerator IEnumerable.GetEnumerator()
|
|
{
|
|
return new AggregateEnumerator(this.dictionaries);
|
|
}
|
|
|
|
// Token: 0x170006DC RID: 1756
|
|
// (get) Token: 0x06002528 RID: 9512 RVA: 0x0007B3C4 File Offset: 0x000795C4
|
|
public bool IsFixedSize
|
|
{
|
|
get
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170006DD RID: 1757
|
|
// (get) Token: 0x06002529 RID: 9513 RVA: 0x0007B3C8 File Offset: 0x000795C8
|
|
public bool IsReadOnly
|
|
{
|
|
get
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170006DE RID: 1758
|
|
public object this[object key]
|
|
{
|
|
get
|
|
{
|
|
foreach (IDictionary dictionary in this.dictionaries)
|
|
{
|
|
if (dictionary.Contains(key))
|
|
{
|
|
return dictionary[key];
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
set
|
|
{
|
|
throw new NotSupportedException();
|
|
}
|
|
}
|
|
|
|
// Token: 0x170006DF RID: 1759
|
|
// (get) Token: 0x0600252C RID: 9516 RVA: 0x0007B418 File Offset: 0x00079618
|
|
public ICollection Keys
|
|
{
|
|
get
|
|
{
|
|
if (this._keys != null)
|
|
{
|
|
return this._keys;
|
|
}
|
|
this._keys = new ArrayList();
|
|
foreach (IDictionary dictionary in this.dictionaries)
|
|
{
|
|
this._keys.AddRange(dictionary.Keys);
|
|
}
|
|
return this._keys;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170006E0 RID: 1760
|
|
// (get) Token: 0x0600252D RID: 9517 RVA: 0x0007B478 File Offset: 0x00079678
|
|
public ICollection Values
|
|
{
|
|
get
|
|
{
|
|
if (this._values != null)
|
|
{
|
|
return this._values;
|
|
}
|
|
this._values = new ArrayList();
|
|
foreach (IDictionary dictionary in this.dictionaries)
|
|
{
|
|
this._values.AddRange(dictionary.Values);
|
|
}
|
|
return this._values;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600252E RID: 9518 RVA: 0x0007B4D8 File Offset: 0x000796D8
|
|
public void Add(object key, object value)
|
|
{
|
|
throw new NotSupportedException();
|
|
}
|
|
|
|
// Token: 0x0600252F RID: 9519 RVA: 0x0007B4E0 File Offset: 0x000796E0
|
|
public void Clear()
|
|
{
|
|
throw new NotSupportedException();
|
|
}
|
|
|
|
// Token: 0x06002530 RID: 9520 RVA: 0x0007B4E8 File Offset: 0x000796E8
|
|
public bool Contains(object ob)
|
|
{
|
|
foreach (IDictionary dictionary in this.dictionaries)
|
|
{
|
|
if (dictionary.Contains(ob))
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
// Token: 0x06002531 RID: 9521 RVA: 0x0007B524 File Offset: 0x00079724
|
|
public IDictionaryEnumerator GetEnumerator()
|
|
{
|
|
return new AggregateEnumerator(this.dictionaries);
|
|
}
|
|
|
|
// Token: 0x06002532 RID: 9522 RVA: 0x0007B534 File Offset: 0x00079734
|
|
public void Remove(object ob)
|
|
{
|
|
throw new NotSupportedException();
|
|
}
|
|
|
|
// Token: 0x06002533 RID: 9523 RVA: 0x0007B53C File Offset: 0x0007973C
|
|
public void CopyTo(Array array, int index)
|
|
{
|
|
foreach (object obj in this)
|
|
{
|
|
array.SetValue(obj, index++);
|
|
}
|
|
}
|
|
|
|
// Token: 0x170006E1 RID: 1761
|
|
// (get) Token: 0x06002534 RID: 9524 RVA: 0x0007B5A8 File Offset: 0x000797A8
|
|
public int Count
|
|
{
|
|
get
|
|
{
|
|
int num = 0;
|
|
foreach (IDictionary dictionary in this.dictionaries)
|
|
{
|
|
num += dictionary.Count;
|
|
}
|
|
return num;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170006E2 RID: 1762
|
|
// (get) Token: 0x06002535 RID: 9525 RVA: 0x0007B5E0 File Offset: 0x000797E0
|
|
public bool IsSynchronized
|
|
{
|
|
get
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170006E3 RID: 1763
|
|
// (get) Token: 0x06002536 RID: 9526 RVA: 0x0007B5E4 File Offset: 0x000797E4
|
|
public object SyncRoot
|
|
{
|
|
get
|
|
{
|
|
return this;
|
|
}
|
|
}
|
|
|
|
// Token: 0x04000E9E RID: 3742
|
|
private IDictionary[] dictionaries;
|
|
|
|
// Token: 0x04000E9F RID: 3743
|
|
private ArrayList _values;
|
|
|
|
// Token: 0x04000EA0 RID: 3744
|
|
private ArrayList _keys;
|
|
}
|
|
}
|