using System; using System.Collections; namespace System.Runtime.Remoting { // Token: 0x02000447 RID: 1095 internal class ChannelData { // Token: 0x1700085F RID: 2143 // (get) Token: 0x06002A40 RID: 10816 RVA: 0x00088830 File Offset: 0x00086A30 internal ArrayList ServerProviders { get { if (this._serverProviders == null) { this._serverProviders = new ArrayList(); } return this._serverProviders; } } // Token: 0x17000860 RID: 2144 // (get) Token: 0x06002A41 RID: 10817 RVA: 0x00088850 File Offset: 0x00086A50 public ArrayList ClientProviders { get { if (this._clientProviders == null) { this._clientProviders = new ArrayList(); } return this._clientProviders; } } // Token: 0x17000861 RID: 2145 // (get) Token: 0x06002A42 RID: 10818 RVA: 0x00088870 File Offset: 0x00086A70 public Hashtable CustomProperties { get { if (this._customProperties == null) { this._customProperties = new Hashtable(); } return this._customProperties; } } // Token: 0x06002A43 RID: 10819 RVA: 0x00088890 File Offset: 0x00086A90 public void CopyFrom(ChannelData other) { if (this.Ref == null) { this.Ref = other.Ref; } if (this.Id == null) { this.Id = other.Id; } if (this.Type == null) { this.Type = other.Type; } if (this.DelayLoadAsClientChannel == null) { this.DelayLoadAsClientChannel = other.DelayLoadAsClientChannel; } if (other._customProperties != null) { foreach (object obj in other._customProperties) { DictionaryEntry dictionaryEntry = (DictionaryEntry)obj; if (!this.CustomProperties.ContainsKey(dictionaryEntry.Key)) { this.CustomProperties[dictionaryEntry.Key] = dictionaryEntry.Value; } } } if (this._serverProviders == null && other._serverProviders != null) { foreach (object obj2 in other._serverProviders) { ProviderData providerData = (ProviderData)obj2; ProviderData providerData2 = new ProviderData(); providerData2.CopyFrom(providerData); this.ServerProviders.Add(providerData2); } } if (this._clientProviders == null && other._clientProviders != null) { foreach (object obj3 in other._clientProviders) { ProviderData providerData3 = (ProviderData)obj3; ProviderData providerData4 = new ProviderData(); providerData4.CopyFrom(providerData3); this.ClientProviders.Add(providerData4); } } } // Token: 0x04001035 RID: 4149 internal string Ref; // Token: 0x04001036 RID: 4150 internal string Type; // Token: 0x04001037 RID: 4151 internal string Id; // Token: 0x04001038 RID: 4152 internal string DelayLoadAsClientChannel; // Token: 0x04001039 RID: 4153 private ArrayList _serverProviders = new ArrayList(); // Token: 0x0400103A RID: 4154 private ArrayList _clientProviders = new ArrayList(); // Token: 0x0400103B RID: 4155 private Hashtable _customProperties = new Hashtable(); } }