Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Collections / Generic / IDictionary.cs / 1305376 / IDictionary.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Interface: IDictionary ** **[....] ** ** ** Purpose: Base interface for all generic dictionaries. ** ** ===========================================================*/ namespace System.Collections.Generic { 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<,>))] public interface IDictionary: ICollection > { // Interfaces are not serializable // The Item property provides methods to read and edit entries // in the Dictionary. TValue this[TKey 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 ContainsKey(TKey key); // Adds a key-value pair to the dictionary. // void Add(TKey key, TValue value); // Removes a particular key from the dictionary. // bool Remove(TKey key); bool TryGetValue(TKey key, out TValue value); } [ContractClassFor(typeof(IDictionary<,>))] internal class IDictionaryContract : IDictionary { TValue IDictionary .this[TKey key] { get { return default(TValue); } set { } } ICollection IDictionary .Keys { get { Contract.Ensures(Contract.Result >() != null); return default(ICollection ); } } // Returns a collections of the values in this dictionary. ICollection IDictionary .Values { get { Contract.Ensures(Contract.Result >() != null); return default(ICollection ); } } bool IDictionary .ContainsKey(TKey key) { return default(bool); } void IDictionary .Add(TKey key, TValue value) { } bool IDictionary .Remove(TKey key) { //Contract.Ensures(Contract.Result () == false || ((ICollection >)this).Count == Contract.OldValue(((ICollection >)this).Count) - 1); // not threadsafe return default(bool); } bool IDictionary .TryGetValue(TKey key, out TValue value) { value = default(TValue); return default(bool); } #region ICollection > Members void ICollection >.Add(KeyValuePair value) { //Contract.Ensures(((ICollection >)this).Count == Contract.OldValue(((ICollection >)this).Count) + 1); // not threadsafe } bool ICollection >.IsReadOnly { get { return default(bool); } } int ICollection >.Count { get { Contract.Ensures(Contract.Result () >= 0); return default(int); } } void ICollection >.Clear() { } bool ICollection >.Contains(KeyValuePair value) { // Contract.Ensures(((ICollection >)this).Count > 0 || Contract.Result () == false); // not threadsafe return default(bool); } void ICollection >.CopyTo(KeyValuePair [] array, int startIndex) { //Contract.Requires(array != null); //Contract.Requires(startIndex >= 0); //Contract.Requires(startIndex + ((ICollection >)this).Count <= array.Length); } bool ICollection >.Remove(KeyValuePair value) { // No information if removal fails. return default(bool); } IEnumerator > IEnumerable >.GetEnumerator() { Contract.Ensures(Contract.Result >>() != null); return default(IEnumerator >); } IEnumerator IEnumerable.GetEnumerator() { Contract.Ensures(Contract.Result () != null); return default(IEnumerator); } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TextCharacters.cs
- OpenFileDialog.cs
- HttpHandlerAction.cs
- StrokeNodeData.cs
- BuildProviderInstallComponent.cs
- ShapeTypeface.cs
- XmlName.cs
- SplashScreenNativeMethods.cs
- UnsafeNativeMethodsCLR.cs
- ReflectionServiceProvider.cs
- InputScope.cs
- CngAlgorithm.cs
- InvokeMethodActivityDesigner.cs
- UnsafeNativeMethods.cs
- PolygonHotSpot.cs
- UIPropertyMetadata.cs
- AccessControlEntry.cs
- RuntimeConfig.cs
- ServiceCredentialsSecurityTokenManager.cs
- CTreeGenerator.cs
- EntityDataSourceDesigner.cs
- ProfileSection.cs
- FlowDecisionDesigner.xaml.cs
- SiteIdentityPermission.cs
- SchemaInfo.cs
- ObjectPersistData.cs
- GenericIdentity.cs
- TimeSpanStorage.cs
- OptionUsage.cs
- Win32.cs
- GPRECT.cs
- TreeNodeEventArgs.cs
- SvcMapFile.cs
- AssociatedControlConverter.cs
- StylusPointPropertyUnit.cs
- DecimalAnimationBase.cs
- WebSysDefaultValueAttribute.cs
- ColorIndependentAnimationStorage.cs
- SupportsEventValidationAttribute.cs
- TcpStreams.cs
- Stream.cs
- FloaterParagraph.cs
- DbExpressionVisitor.cs
- BindingList.cs
- SHA512.cs
- DirectionalLight.cs
- COM2PictureConverter.cs
- PropertyConverter.cs
- ExtenderProvidedPropertyAttribute.cs
- TdsRecordBufferSetter.cs
- ApplicationInfo.cs
- EndOfStreamException.cs
- OneOfTypeConst.cs
- DataTableClearEvent.cs
- MetadataArtifactLoaderCompositeFile.cs
- ShadowGlyph.cs
- ClientSettingsProvider.cs
- DuplicateContext.cs
- SimpleWebHandlerParser.cs
- EncryptedKeyIdentifierClause.cs
- PropertyCollection.cs
- ServiceMetadataContractBehavior.cs
- ImageDrawing.cs
- NumberSubstitution.cs
- IgnorePropertiesAttribute.cs
- XmlArrayItemAttribute.cs
- URLMembershipCondition.cs
- OleDbTransaction.cs
- PropertyValueChangedEvent.cs
- ResolveMatches11.cs
- LayoutInformation.cs
- CompositeScriptReference.cs
- DataGridItem.cs
- IriParsingElement.cs
- CellTreeNodeVisitors.cs
- MaskInputRejectedEventArgs.cs
- CustomCredentialPolicy.cs
- UriSection.cs
- WebServiceHostFactory.cs
- AggregateNode.cs
- ImageField.cs
- SoapRpcServiceAttribute.cs
- GetCardDetailsRequest.cs
- complextypematerializer.cs
- MetadataLocation.cs
- XamlTreeBuilderBamlRecordWriter.cs
- TreeView.cs
- UndoManager.cs
- PenCursorManager.cs
- GeometryModel3D.cs
- EntityContainerRelationshipSetEnd.cs
- ProcessInfo.cs
- XPathParser.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- LiteralTextContainerControlBuilder.cs
- NamespaceDecl.cs
- XmlAnyElementAttribute.cs
- ContextBase.cs
- ListBoxItemWrapperAutomationPeer.cs
- GlyphTypeface.cs