IDictionary.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Collections / IDictionary.cs / 1305376 / IDictionary.cs

                            // ==++== 
//
//   Copyright (c) Microsoft Corporation.  All rights reserved.
//
// ==--== 
/*============================================================
** 
** Interface:  IDictionary 
**
** [....] 
**
**
** Purpose: Base interface for all dictionaries.
** 
**
===========================================================*/ 
namespace System.Collections { 
    using System;
    using System.Diagnostics.Contracts; 

    // An IDictionary is a possibly unordered set of key-value pairs.
    // Keys can be any non-null object.  Values can be any object.
    // You can look up a value in an IDictionary via the default indexed 
    // property, Items.
    [ContractClass(typeof(IDictionaryContract))] 
    [System.Runtime.InteropServices.ComVisible(true)] 
    public interface IDictionary : ICollection
    { 
        // Interfaces are not serializable
        // The Item property provides methods to read and edit entries
        // in the Dictionary.
        Object this[Object key] { 
            get;
            set; 
        } 

        // Returns a collections of the keys in this dictionary. 
        ICollection Keys {
            get;
        }
 
        // Returns a collections of the values in this dictionary.
        ICollection Values { 
            get; 
        }
 
        // Returns whether this dictionary contains a particular key.
        //
        bool Contains(Object key);
 
        // Adds a key-value pair to the dictionary.
        // 
        void Add(Object key, Object value); 

        // Removes all pairs from the dictionary. 
        void Clear();

        bool IsReadOnly
        { get; } 

        bool IsFixedSize 
        { get; } 

        // Returns an IDictionaryEnumerator for this dictionary. 
        new IDictionaryEnumerator GetEnumerator();

        // Removes a particular key from the dictionary.
        // 
        void Remove(Object key);
    } 
 
    [ContractClassFor(typeof(IDictionary))]
    internal class IDictionaryContract : IDictionary 
    {
        Object IDictionary.this[Object key] {
            get { return default(Object); }
            set { } 
        }
 
        ICollection IDictionary.Keys { 
            get {
                Contract.Ensures(Contract.Result() != null); 
                //Contract.Ensures(Contract.Result().Count == ((ICollection)this).Count);
                return default(ICollection);
            }
        } 

        ICollection IDictionary.Values { 
            get { 
                Contract.Ensures(Contract.Result() != null);
                return default(ICollection); 
            }
        }

        bool IDictionary.Contains(Object key) 
        {
            return default(bool); 
        } 

        void IDictionary.Add(Object key, Object value) 
        {
        }

        void IDictionary.Clear() 
        {
        } 
 
        bool IDictionary.IsReadOnly {
            get { return default(bool); } 
        }

        bool IDictionary.IsFixedSize {
            get { return default(bool); } 
        }
 
        IDictionaryEnumerator IDictionary.GetEnumerator() 
        {
            Contract.Ensures(Contract.Result() != null); 
            return default(IDictionaryEnumerator);
        }

        void IDictionary.Remove(Object key) 
        {
        } 
 
        #region ICollection members
 
        void ICollection.CopyTo(Array array, int index)
        {
        }
 
        int ICollection.Count {
            get { 
                Contract.Ensures(Contract.Result() >= 0); 
                return default(int);
            } 
        }

        Object ICollection.SyncRoot {
            get { 
                Contract.Ensures(Contract.Result() != null);
                return default(Object); 
            } 
        }
 
        bool ICollection.IsSynchronized {
            get { return default(bool); }
        }
 
        IEnumerator IEnumerable.GetEnumerator()
        { 
            Contract.Ensures(Contract.Result() != null); 
            return default(IEnumerator);
        } 

        #endregion ICollection Members
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.


                        

                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK