Code:
/ 4.0 / 4.0 / 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. // ==++== // // 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
- CodeIdentifier.cs
- CodeGeneratorOptions.cs
- ItemCollectionEditor.cs
- URIFormatException.cs
- OdbcErrorCollection.cs
- Pens.cs
- WebServiceHandlerFactory.cs
- XmlSchemaResource.cs
- WebPartCollection.cs
- GridViewEditEventArgs.cs
- MobileControlsSection.cs
- TransformationRules.cs
- ElementsClipboardData.cs
- DataViewManager.cs
- PartialClassGenerationTask.cs
- MainMenu.cs
- UniqueIdentifierService.cs
- DeviceContext2.cs
- View.cs
- SizeIndependentAnimationStorage.cs
- SafeHandle.cs
- UpdateProgress.cs
- PointCollectionConverter.cs
- XpsS0ValidatingLoader.cs
- ResumeStoryboard.cs
- RSAPKCS1SignatureDeformatter.cs
- HebrewCalendar.cs
- TargetControlTypeCache.cs
- AnonymousIdentificationModule.cs
- CompensatableTransactionScopeActivityDesigner.cs
- DataGridViewCellValidatingEventArgs.cs
- ModelMemberCollection.cs
- UnknownWrapper.cs
- WebServiceReceiveDesigner.cs
- HierarchicalDataSourceIDConverter.cs
- CodeThrowExceptionStatement.cs
- DefaultProxySection.cs
- ProviderCollection.cs
- NullExtension.cs
- OciLobLocator.cs
- EncoderReplacementFallback.cs
- TextDecorations.cs
- WebPart.cs
- StylesEditorDialog.cs
- XmlDocument.cs
- CachedCompositeFamily.cs
- WinInetCache.cs
- SelectionEditingBehavior.cs
- APCustomTypeDescriptor.cs
- Config.cs
- _LocalDataStore.cs
- _NestedSingleAsyncResult.cs
- EntityDataSourceViewSchema.cs
- HtmlEmptyTagControlBuilder.cs
- TypeLoadException.cs
- NumericExpr.cs
- SerialReceived.cs
- BuildProvider.cs
- OutputCacheModule.cs
- Accessible.cs
- PeerNameRecord.cs
- XsdCachingReader.cs
- BmpBitmapDecoder.cs
- ProxyGenerationError.cs
- PerformanceCountersBase.cs
- RunInstallerAttribute.cs
- COM2ColorConverter.cs
- PropertyChangingEventArgs.cs
- DataSourceView.cs
- UseLicense.cs
- HitTestFilterBehavior.cs
- MulticastNotSupportedException.cs
- ObjectTypeMapping.cs
- WebUtil.cs
- CompensatableTransactionScopeActivityDesigner.cs
- SuppressIldasmAttribute.cs
- handlecollector.cs
- BinarySerializer.cs
- DefaultTraceListener.cs
- Int16AnimationUsingKeyFrames.cs
- Message.cs
- UrlPath.cs
- XmlIlTypeHelper.cs
- MenuScrollingVisibilityConverter.cs
- XsltFunctions.cs
- CryptoSession.cs
- ObjectCacheHost.cs
- OuterProxyWrapper.cs
- CollectionChangedEventManager.cs
- BooleanFunctions.cs
- NamespaceQuery.cs
- BaseCodeDomTreeGenerator.cs
- SiteMapPath.cs
- pingexception.cs
- CodeEventReferenceExpression.cs
- EventSourceCreationData.cs
- InternalPolicyElement.cs
- AnnotationMap.cs
- oledbconnectionstring.cs
- InputLanguageSource.cs