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
- FixedStringLookup.cs
- CngUIPolicy.cs
- Keywords.cs
- ImageSourceValueSerializer.cs
- MdiWindowListStrip.cs
- SchemaImporterExtensionElementCollection.cs
- GeneralTransformCollection.cs
- VisualBasicDesignerHelper.cs
- CultureInfo.cs
- FileRecordSequenceHelper.cs
- OlePropertyStructs.cs
- PackageProperties.cs
- QueryStringParameter.cs
- RectangleF.cs
- PrinterUnitConvert.cs
- SqlTypeConverter.cs
- AnnouncementDispatcherAsyncResult.cs
- RenamedEventArgs.cs
- HashCodeCombiner.cs
- WindowsTitleBar.cs
- LineSegment.cs
- QueryContinueDragEventArgs.cs
- TextTreeTextBlock.cs
- XPathDocumentIterator.cs
- UInt32Storage.cs
- Clipboard.cs
- QilGenerator.cs
- EventItfInfo.cs
- ConsoleKeyInfo.cs
- FileNotFoundException.cs
- UnionCqlBlock.cs
- ColorBlend.cs
- ResourcesBuildProvider.cs
- CodeIterationStatement.cs
- BitmapMetadataEnumerator.cs
- StatusBar.cs
- XamlStream.cs
- NativeCompoundFileAPIs.cs
- TaiwanLunisolarCalendar.cs
- HelpKeywordAttribute.cs
- Clipboard.cs
- HealthMonitoringSection.cs
- DBCommandBuilder.cs
- MemberRelationshipService.cs
- Decorator.cs
- UxThemeWrapper.cs
- WebResourceAttribute.cs
- BindingContext.cs
- StateDesigner.cs
- WebPartEditorApplyVerb.cs
- ScrollBarAutomationPeer.cs
- DocumentAutomationPeer.cs
- unsafenativemethodsother.cs
- ToolStripDropDownMenu.cs
- OptimisticConcurrencyException.cs
- Binding.cs
- sqlcontext.cs
- CompatibleComparer.cs
- TreeSet.cs
- DesignerProperties.cs
- PasswordRecovery.cs
- ResizeGrip.cs
- DataGridViewCellParsingEventArgs.cs
- SemanticKeyElement.cs
- NavigationHelper.cs
- EncoderParameters.cs
- Config.cs
- TextSchema.cs
- UnsafeNativeMethods.cs
- OnOperation.cs
- CodeDOMUtility.cs
- DelegateTypeInfo.cs
- AssertHelper.cs
- Delegate.cs
- _ConnectOverlappedAsyncResult.cs
- WinCategoryAttribute.cs
- TraceSwitch.cs
- XmlSchemaObjectTable.cs
- CompareInfo.cs
- DescendantOverDescendantQuery.cs
- Point3DCollection.cs
- CheckBoxAutomationPeer.cs
- DesignerSerializationOptionsAttribute.cs
- UserControlCodeDomTreeGenerator.cs
- DSASignatureDeformatter.cs
- DefaultProxySection.cs
- Opcode.cs
- ExpressionWriter.cs
- PropertyManager.cs
- BinHexEncoder.cs
- ProcessModuleCollection.cs
- HealthMonitoringSectionHelper.cs
- __Filters.cs
- AdjustableArrowCap.cs
- DataRelationCollection.cs
- TagElement.cs
- CodeThrowExceptionStatement.cs
- DesignerActionPropertyItem.cs
- SqlParameter.cs
- ZipIORawDataFileBlock.cs