Code:
/ 4.0 / 4.0 / 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. // ==++== // // 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
- XmlChildNodes.cs
- SemanticValue.cs
- IPEndPoint.cs
- SingleObjectCollection.cs
- OledbConnectionStringbuilder.cs
- Peer.cs
- BreakRecordTable.cs
- X509SecurityToken.cs
- nulltextnavigator.cs
- DateTimeStorage.cs
- DataGridHeaderBorder.cs
- ViewStateModeByIdAttribute.cs
- cache.cs
- MailFileEditor.cs
- CommentEmitter.cs
- DateBoldEvent.cs
- LostFocusEventManager.cs
- EqualityComparer.cs
- CroppedBitmap.cs
- NamespaceQuery.cs
- ArraySortHelper.cs
- XmlReflectionMember.cs
- Listener.cs
- GridViewCommandEventArgs.cs
- DataGridSortingEventArgs.cs
- DataServiceRequest.cs
- CacheOutputQuery.cs
- ProgressBar.cs
- DataSourceSelectArguments.cs
- FormClosingEvent.cs
- StylusSystemGestureEventArgs.cs
- BasicExpandProvider.cs
- NamespaceDecl.cs
- MsdtcWrapper.cs
- DataServiceClientException.cs
- FormViewDesigner.cs
- ObjectSpanRewriter.cs
- ReadWriteSpinLock.cs
- HwndHost.cs
- CodeTypeReferenceCollection.cs
- CodeEventReferenceExpression.cs
- FloatAverageAggregationOperator.cs
- SmtpAuthenticationManager.cs
- Page.cs
- Point.cs
- CuspData.cs
- IntegerValidator.cs
- TextBox.cs
- TextElementAutomationPeer.cs
- TabControlToolboxItem.cs
- SingleKeyFrameCollection.cs
- FullTextState.cs
- CanonicalFontFamilyReference.cs
- DeflateStream.cs
- HtmlInputControl.cs
- LayoutDump.cs
- PagesChangedEventArgs.cs
- Tile.cs
- InputLanguageCollection.cs
- GZipStream.cs
- TextRunTypographyProperties.cs
- UTF32Encoding.cs
- BufferedStream.cs
- IChannel.cs
- ConnectionManagementElement.cs
- EmptyReadOnlyDictionaryInternal.cs
- RuleElement.cs
- SqlXml.cs
- ResourceManagerWrapper.cs
- ToolStripRendererSwitcher.cs
- XslException.cs
- TableLayoutPanel.cs
- ConfigUtil.cs
- InputLanguageProfileNotifySink.cs
- QuadraticBezierSegment.cs
- SmtpException.cs
- IBuiltInEvidence.cs
- CalendarAutoFormatDialog.cs
- DATA_BLOB.cs
- DriveNotFoundException.cs
- SyncMethodInvoker.cs
- XmlSortKeyAccumulator.cs
- DesignerCatalogPartChrome.cs
- CodeDomDesignerLoader.cs
- StrokeCollection.cs
- SamlAction.cs
- BufferedWebEventProvider.cs
- RadioButton.cs
- PageSettings.cs
- UpdateProgress.cs
- CacheAxisQuery.cs
- TextFormatterHost.cs
- XsdValidatingReader.cs
- StringFormat.cs
- AssertHelper.cs
- TableRowGroupCollection.cs
- WebPartConnectionsDisconnectVerb.cs
- MachineKeySection.cs
- BamlLocalizer.cs
- CultureSpecificCharacterBufferRange.cs