System.Collections.ObjectModel.ReadOnlyDictionary<TKey, TValue>
public class ReadOnlyDictionary<TKey, TValue> : ICollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable, IDictionary<TKey, TValue>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>, IReadOnlyDictionary<TKey, TValue>, ICollection, IDictionary
namespace System.Collections.ObjectModel
{
public class ReadOnlyDictionary<TKey, TValue> : ICollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable, IDictionary<TKey, TValue>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>, IReadOnlyDictionary<TKey, TValue>, ICollection, IDictionary
{
public sealed class KeyCollection : ICollection<TKey>, IEnumerable<TKey>, IEnumerable, IReadOnlyCollection<TKey>, ICollection
{
public int Count { get; }
public void CopyTo(TKey[] array, int arrayIndex);
public IEnumerator<TKey> GetEnumerator();
}
public sealed class ValueCollection : ICollection<TValue>, IEnumerable<TValue>, IEnumerable, IReadOnlyCollection<TValue>, ICollection
{
public int Count { get; }
public void CopyTo(TValue[] array, int arrayIndex);
public IEnumerator<TValue> GetEnumerator();
}
public int Count { get; }
protected IDictionary<TKey, TValue> Dictionary { get; }
public TValue this[TKey key] { get; }
public KeyCollection Keys { get; }
TValue IDictionary<TKey, TValue>.this[TKey key] { get; set; }
object IDictionary.this[object key] { get; set; }
public ValueCollection Values { get; }
public ReadOnlyDictionary(IDictionary<TKey, TValue> dictionary);
public bool ContainsKey(TKey key);
public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator();
public bool TryGetValue(TKey key, out TValue value);
}
}