Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Collections / Generic / ICollection.cs / 1305376 / ICollection.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Interface: ICollection ** **[....] ** ** ** Purpose: Base interface for all generic collections. ** ** ===========================================================*/ namespace System.Collections.Generic { using System; using System.Runtime.CompilerServices; using System.Diagnostics.Contracts; // Base interface for all collections, defining enumerators, size, and // synchronization methods. // Note that T[] : IList, and we want to ensure that if you use // IList , we ensure a YourValueType[] can be used // without jitting. Hence the TypeDependencyAttribute on SZArrayHelper. // This is a special hack internally though - see VM\compile.cpp. // The same attribute is on IEnumerable and ICollection . [ContractClass(typeof(ICollectionContract<>))] [TypeDependencyAttribute("System.SZArrayHelper")] public interface ICollection : IEnumerable { // Number of items in the collections. int Count { get; } bool IsReadOnly { get; } void Add(T item); void Clear(); bool Contains(T item); // CopyTo copies a collection into an Array, starting at a particular // index into the array. // void CopyTo(T[] array, int arrayIndex); //void CopyTo(int sourceIndex, T[] destinationArray, int destinationIndex, int count); bool Remove(T item); } [ContractClassFor(typeof(ICollection<>))] internal class ICollectionContract : ICollection { int ICollection .Count { get { Contract.Ensures(Contract.Result () >= 0); return default(int); } } bool ICollection .IsReadOnly { get { return default(bool); } } void ICollection .Add(T item) { //Contract.Ensures(((ICollection )this).Count == Contract.OldValue(((ICollection )this).Count) + 1); // not threadsafe } void ICollection .Clear() { } bool ICollection .Contains(T item) { return default(bool); } void ICollection .CopyTo(T[] array, int arrayIndex) { } bool ICollection .Remove(T item) { 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); } } } // 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
- LinkArea.cs
- CryptoProvider.cs
- PolicyUnit.cs
- MediaTimeline.cs
- ConditionCollection.cs
- SignerInfo.cs
- ToolboxItem.cs
- ComponentSerializationService.cs
- StickyNoteHelper.cs
- NativeMethods.cs
- FacetEnabledSchemaElement.cs
- TableRow.cs
- safePerfProviderHandle.cs
- SSmlParser.cs
- ToolStripDropDownItemDesigner.cs
- TemplateParser.cs
- SelectionGlyphBase.cs
- OptimalBreakSession.cs
- SequentialActivityDesigner.cs
- InstanceCompleteException.cs
- CompositeControl.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- StackBuilderSink.cs
- FileCodeGroup.cs
- LocalizedNameDescriptionPair.cs
- InheritablePropertyChangeInfo.cs
- WizardDesigner.cs
- IndexerNameAttribute.cs
- WebPartVerb.cs
- BezierSegment.cs
- SafePEFileHandle.cs
- DesignerDataParameter.cs
- TaskFactory.cs
- ControlIdConverter.cs
- SystemIcons.cs
- HttpProfileGroupBase.cs
- TextEditorCharacters.cs
- Label.cs
- DataGridViewBand.cs
- ObjectTokenCategory.cs
- CompilerParameters.cs
- TextBoxBase.cs
- NavigationService.cs
- StopRoutingHandler.cs
- DatagridviewDisplayedBandsData.cs
- FlowDocument.cs
- CustomCategoryAttribute.cs
- DefaultValueConverter.cs
- ComponentEvent.cs
- MediaContextNotificationWindow.cs
- ImmutableCollection.cs
- HtmlElementEventArgs.cs
- SystemUdpStatistics.cs
- SchemaInfo.cs
- DoubleAverageAggregationOperator.cs
- ReadOnlyHierarchicalDataSourceView.cs
- RequestQueryProcessor.cs
- MouseWheelEventArgs.cs
- FixedNode.cs
- filewebrequest.cs
- WeakEventManager.cs
- EntityDataSourceDesigner.cs
- IndexOutOfRangeException.cs
- ProfilePropertyMetadata.cs
- SspiNegotiationTokenAuthenticator.cs
- Bezier.cs
- MappableObjectManager.cs
- ClientSettingsSection.cs
- Console.cs
- DragEvent.cs
- TextTreeUndo.cs
- DBDataPermission.cs
- HMACSHA384.cs
- XmlCodeExporter.cs
- TopClause.cs
- SecurityAlgorithmSuiteConverter.cs
- StyleSheetComponentEditor.cs
- DomNameTable.cs
- BridgeDataRecord.cs
- RemoteWebConfigurationHostServer.cs
- PackUriHelper.cs
- Sentence.cs
- XhtmlBasicImageAdapter.cs
- VisualBrush.cs
- PointAnimationClockResource.cs
- SqlRowUpdatedEvent.cs
- FontUnitConverter.cs
- URIFormatException.cs
- SecUtil.cs
- Model3DGroup.cs
- InternalConfigHost.cs
- ServiceSecurityAuditBehavior.cs
- DateTimeValueSerializer.cs
- UserControlCodeDomTreeGenerator.cs
- X509Certificate.cs
- ResourceDescriptionAttribute.cs
- ProcessThreadDesigner.cs
- TimeoutValidationAttribute.cs
- RadioButtonFlatAdapter.cs
- BinHexDecoder.cs