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;
}
}