UnmodifiableDictionary.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. using System.Collections;
  5. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections
  6. {
  7. public abstract class UnmodifiableDictionary
  8. : IDictionary
  9. {
  10. protected UnmodifiableDictionary()
  11. {
  12. }
  13. public virtual void Add(object k, object v)
  14. {
  15. throw new NotSupportedException();
  16. }
  17. public virtual void Clear()
  18. {
  19. throw new NotSupportedException();
  20. }
  21. public abstract bool Contains(object k);
  22. public abstract void CopyTo(Array array, int index);
  23. public abstract int Count { get; }
  24. IEnumerator IEnumerable.GetEnumerator()
  25. {
  26. return GetEnumerator();
  27. }
  28. public abstract IDictionaryEnumerator GetEnumerator();
  29. public virtual void Remove(object k)
  30. {
  31. throw new NotSupportedException();
  32. }
  33. public abstract bool IsFixedSize { get; }
  34. public virtual bool IsReadOnly
  35. {
  36. get { return true; }
  37. }
  38. public abstract bool IsSynchronized { get; }
  39. public abstract object SyncRoot { get; }
  40. public abstract ICollection Keys { get; }
  41. public abstract ICollection Values { get; }
  42. public virtual object this[object k]
  43. {
  44. get { return GetValue(k); }
  45. set { throw new NotSupportedException(); }
  46. }
  47. protected abstract object GetValue(object k);
  48. }
  49. }
  50. #pragma warning restore
  51. #endif