using System; using System.Collections; using System.Runtime.InteropServices; namespace System.Runtime.Remoting.Channels { /// Provides a base implementation of a channel object that exposes a dictionary interface to its properties. // Token: 0x02000390 RID: 912 [ComVisible(true)] public abstract class BaseChannelObjectWithProperties : IEnumerable, ICollection, IDictionary { /// Initializes a new instance of the class. // Token: 0x0600253E RID: 9534 RVA: 0x0007B6F0 File Offset: 0x000798F0 protected BaseChannelObjectWithProperties() { this.table = new Hashtable(); } /// Returns a that enumerates over all the properties that are associated with the channel object. /// A that enumerates over all the properties that are associated with the channel object. // Token: 0x0600253F RID: 9535 RVA: 0x0007B704 File Offset: 0x00079904 IEnumerator IEnumerable.GetEnumerator() { return this.table.GetEnumerator(); } /// Gets the number of properties associated with the channel object. /// The number of properties associated with the channel object. /// /// /// // Token: 0x170006E8 RID: 1768 // (get) Token: 0x06002540 RID: 9536 RVA: 0x0007B714 File Offset: 0x00079914 public virtual int Count { get { return this.table.Count; } } /// Gets a value that indicates whether the number of properties that can be entered into the channel object is fixed. /// true if the number of properties that can be entered into the channel object is fixed; otherwise, false. /// /// /// // Token: 0x170006E9 RID: 1769 // (get) Token: 0x06002541 RID: 9537 RVA: 0x0007B724 File Offset: 0x00079924 public virtual bool IsFixedSize { get { return true; } } /// Gets a value that indicates whether the collection of properties in the channel object is read-only. /// true if the collection of properties in the channel object is read-only; otherwise, false. /// /// /// // Token: 0x170006EA RID: 1770 // (get) Token: 0x06002542 RID: 9538 RVA: 0x0007B728 File Offset: 0x00079928 public virtual bool IsReadOnly { get { return false; } } /// Gets a value that indicates whether the dictionary of channel object properties is synchronized. /// true if the dictionary of channel object properties is synchronized; otherwise, false. /// /// /// // Token: 0x170006EB RID: 1771 // (get) Token: 0x06002543 RID: 9539 RVA: 0x0007B72C File Offset: 0x0007992C public virtual bool IsSynchronized { get { return false; } } /// When overridden in a derived class, gets or sets the property that is associated with the specified key. /// The property that is associated with the specified key. /// The key of the property to get or set. /// The property is accessed. /// /// /// // Token: 0x170006EC RID: 1772 public virtual object this[object key] { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } /// When overridden in a derived class, gets a of keys that the channel object properties are associated with. /// A of keys that the channel object properties are associated with. /// /// /// // Token: 0x170006ED RID: 1773 // (get) Token: 0x06002546 RID: 9542 RVA: 0x0007B740 File Offset: 0x00079940 public virtual ICollection Keys { get { return this.table.Keys; } } /// Gets a of the channel properties associated with the channel object. /// A of the channel properties associated with the channel object. /// The immediate caller does not have infrastructure permission. // Token: 0x170006EE RID: 1774 // (get) Token: 0x06002547 RID: 9543 RVA: 0x0007B750 File Offset: 0x00079950 public virtual IDictionary Properties { get { return this; } } /// Gets an object that is used to synchronize access to the . /// An object that is used to synchronize access to the . /// /// /// // Token: 0x170006EF RID: 1775 // (get) Token: 0x06002548 RID: 9544 RVA: 0x0007B754 File Offset: 0x00079954 public virtual object SyncRoot { get { return this; } } /// Gets a of the values of the properties associated with the channel object. /// A of the values of the properties associated with the channel object. /// /// /// // Token: 0x170006F0 RID: 1776 // (get) Token: 0x06002549 RID: 9545 RVA: 0x0007B758 File Offset: 0x00079958 public virtual ICollection Values { get { return this.table.Values; } } /// Throws a . /// The key that is associated with the object in the parameter. /// The value to add. /// The method is called. /// /// /// // Token: 0x0600254A RID: 9546 RVA: 0x0007B768 File Offset: 0x00079968 public virtual void Add(object key, object value) { throw new NotSupportedException(); } /// Throws a . /// The method is called. /// /// /// // Token: 0x0600254B RID: 9547 RVA: 0x0007B770 File Offset: 0x00079970 public virtual void Clear() { throw new NotSupportedException(); } /// Returns a value that indicates whether the channel object contains a property that is associated with the specified key. /// true if the channel object contains a property associated with the specified key; otherwise, false. /// The key of the property to look for. /// /// /// // Token: 0x0600254C RID: 9548 RVA: 0x0007B778 File Offset: 0x00079978 public virtual bool Contains(object key) { return this.table.Contains(key); } /// Throws a . /// The array to copy the properties to. /// The index at which to begin copying. /// The method is called. /// /// /// // Token: 0x0600254D RID: 9549 RVA: 0x0007B788 File Offset: 0x00079988 public virtual void CopyTo(Array array, int index) { throw new NotSupportedException(); } /// Returns a that enumerates over all the properties associated with the channel object. /// A that enumerates over all the properties associated with the channel object. /// /// /// // Token: 0x0600254E RID: 9550 RVA: 0x0007B790 File Offset: 0x00079990 public virtual IDictionaryEnumerator GetEnumerator() { return this.table.GetEnumerator(); } /// Throws a . /// The key of the object to be removed. /// The method is called. /// /// /// // Token: 0x0600254F RID: 9551 RVA: 0x0007B7A0 File Offset: 0x000799A0 public virtual void Remove(object key) { throw new NotSupportedException(); } // Token: 0x04000EA4 RID: 3748 private Hashtable table; } }