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
- DataGridColumnEventArgs.cs
- RoleServiceManager.cs
- BidOverLoads.cs
- ProviderConnectionPointCollection.cs
- SoapAttributes.cs
- PriorityItem.cs
- HttpListenerContext.cs
- WebEventTraceProvider.cs
- DataRowComparer.cs
- GlyphsSerializer.cs
- TraceContextEventArgs.cs
- ItemDragEvent.cs
- FunctionImportElement.cs
- NamespaceMapping.cs
- ProfilePropertyMetadata.cs
- HttpCookieCollection.cs
- ObjectItemCollection.cs
- AssemblySettingAttributes.cs
- HandlerWithFactory.cs
- RuntimeHelpers.cs
- DataTemplateSelector.cs
- FontCacheUtil.cs
- ChildrenQuery.cs
- FileUtil.cs
- NextPreviousPagerField.cs
- LocationSectionRecord.cs
- SelectionListDesigner.cs
- AttachedPropertyInfo.cs
- FilteredDataSetHelper.cs
- LocalizedNameDescriptionPair.cs
- AnnotationResourceChangedEventArgs.cs
- SkewTransform.cs
- ResourcesChangeInfo.cs
- UnsafeNativeMethods.cs
- GridViewColumn.cs
- CollectionsUtil.cs
- XmlDataSource.cs
- CleanUpVirtualizedItemEventArgs.cs
- TargetFrameworkUtil.cs
- BooleanSwitch.cs
- RowToParametersTransformer.cs
- PermissionListSet.cs
- SQLInt64Storage.cs
- TemplateNameScope.cs
- RelationshipEnd.cs
- HttpCacheVary.cs
- HttpHeaderCollection.cs
- UnmanagedMarshal.cs
- TextDecoration.cs
- ListSortDescriptionCollection.cs
- CompositionTarget.cs
- DesignerValidationSummaryAdapter.cs
- ScaleTransform.cs
- DescendantOverDescendantQuery.cs
- XmlNullResolver.cs
- EndpointAddressProcessor.cs
- LingerOption.cs
- WindowsToolbarAsMenu.cs
- XmlSchemaSimpleType.cs
- MultiDataTrigger.cs
- DesignRelation.cs
- ConfigurationCollectionAttribute.cs
- EmbeddedMailObject.cs
- GetPageCompletedEventArgs.cs
- XmlEventCache.cs
- SchemaConstraints.cs
- EntityContainerAssociationSet.cs
- ValidatingReaderNodeData.cs
- WeakEventManager.cs
- GAC.cs
- DbXmlEnabledProviderManifest.cs
- CreatingCookieEventArgs.cs
- DataServiceRequestOfT.cs
- BufferModeSettings.cs
- AssemblyResourceLoader.cs
- Knowncolors.cs
- NullableFloatMinMaxAggregationOperator.cs
- Transform.cs
- WebConfigurationFileMap.cs
- DataBindingValueUIHandler.cs
- TargetConverter.cs
- UxThemeWrapper.cs
- StatusBarItem.cs
- TextChangedEventArgs.cs
- BrowserDefinitionCollection.cs
- Number.cs
- assemblycache.cs
- QuaternionValueSerializer.cs
- GZipStream.cs
- GenerateTemporaryTargetAssembly.cs
- ConnectionStringsExpressionBuilder.cs
- sortedlist.cs
- EventToken.cs
- ExceptionCollection.cs
- PngBitmapEncoder.cs
- NamedElement.cs
- PerformanceCounterPermission.cs
- TextFormatterHost.cs
- ChannelServices.cs
- ClientScriptManager.cs