Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Collections / IEnumerable.cs / 1305376 / IEnumerable.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Interface: IEnumerable ** **[....] ** ** ** Purpose: Interface for classes providing IEnumerators ** ** ===========================================================*/ namespace System.Collections { using System; using System.Diagnostics.Contracts; using System.Runtime.InteropServices; // Implement this interface if you need to support VB's foreach semantics. // Also, COM classes that support an enumerator will also implement this interface. [ContractClass(typeof(IEnumerableContract))] [Guid("496B0ABE-CDEE-11d3-88E8-00902754C43A")] [System.Runtime.InteropServices.ComVisible(true)] public interface IEnumerable { // Interfaces are not serializable // Returns an IEnumerator for this enumerable Object. The enumerator provides // a simple way to access all the contents of a collection. [Pure] [DispId(-4)] IEnumerator GetEnumerator(); } [ContractClassFor(typeof(IEnumerable))] internal class IEnumerableContract : IEnumerable { [Pure] 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: IEnumerable ** ** [....] ** ** ** Purpose: Interface for classes providing IEnumerators ** ** ===========================================================*/ namespace System.Collections { using System; using System.Diagnostics.Contracts; using System.Runtime.InteropServices; // Implement this interface if you need to support VB's foreach semantics. // Also, COM classes that support an enumerator will also implement this interface. [ContractClass(typeof(IEnumerableContract))] [Guid("496B0ABE-CDEE-11d3-88E8-00902754C43A")] [System.Runtime.InteropServices.ComVisible(true)] public interface IEnumerable { // Interfaces are not serializable // Returns an IEnumerator for this enumerable Object. The enumerator provides // a simple way to access all the contents of a collection. [Pure] [DispId(-4)] IEnumerator GetEnumerator(); } [ContractClassFor(typeof(IEnumerable))] internal class IEnumerableContract : IEnumerable { [Pure] 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
- ImageCodecInfo.cs
- ListViewDeletedEventArgs.cs
- LocalBuilder.cs
- TextServicesDisplayAttribute.cs
- BigInt.cs
- Match.cs
- DefaultPropertyAttribute.cs
- TextBounds.cs
- CachingHintValidation.cs
- OuterGlowBitmapEffect.cs
- _UriSyntax.cs
- CodeParameterDeclarationExpressionCollection.cs
- EntitySqlQueryBuilder.cs
- Console.cs
- TextDpi.cs
- EdmEntityTypeAttribute.cs
- DesignTableCollection.cs
- Hash.cs
- HttpWrapper.cs
- SHA256.cs
- XmlEventCache.cs
- RuntimeIdentifierPropertyAttribute.cs
- PropertyValueChangedEvent.cs
- DesignerCategoryAttribute.cs
- ProgressBarAutomationPeer.cs
- ScrollPattern.cs
- MimeTypeAttribute.cs
- ApplyHostConfigurationBehavior.cs
- DataTemplateSelector.cs
- Helper.cs
- SerializationAttributes.cs
- DecimalConverter.cs
- OwnerDrawPropertyBag.cs
- HelloMessageApril2005.cs
- IApplicationTrustManager.cs
- GestureRecognizer.cs
- WmiPutTraceRecord.cs
- EntitySetDataBindingList.cs
- TextRange.cs
- InstallerTypeAttribute.cs
- DynamicPhysicalDiscoSearcher.cs
- SessionKeyExpiredException.cs
- WebPartTransformerCollection.cs
- CommandManager.cs
- XmlNullResolver.cs
- PluggableProtocol.cs
- XmlDataSourceDesigner.cs
- _ShellExpression.cs
- IERequestCache.cs
- EdgeModeValidation.cs
- ThumbAutomationPeer.cs
- wmiprovider.cs
- NamespaceInfo.cs
- SystemIPv6InterfaceProperties.cs
- HotCommands.cs
- SplineQuaternionKeyFrame.cs
- ManipulationStartedEventArgs.cs
- SocketAddress.cs
- CompilerTypeWithParams.cs
- MenuItemCollection.cs
- DataGridViewColumnTypeEditor.cs
- DomainUpDown.cs
- WindowsStatusBar.cs
- LinkedResourceCollection.cs
- SecUtil.cs
- CursorConverter.cs
- NumericUpDownAcceleration.cs
- _UriTypeConverter.cs
- FrameworkTextComposition.cs
- EmitterCache.cs
- XPathNavigatorReader.cs
- NetStream.cs
- SerializationTrace.cs
- Scheduling.cs
- safex509handles.cs
- SyndicationSerializer.cs
- SqlProvider.cs
- Base64Decoder.cs
- DateTimePicker.cs
- UrlPropertyAttribute.cs
- LayoutInformation.cs
- FixedLineResult.cs
- OrderedEnumerableRowCollection.cs
- AccessorTable.cs
- BrowserCapabilitiesFactoryBase.cs
- SafeThreadHandle.cs
- XamlBrushSerializer.cs
- NameTable.cs
- ToolBarOverflowPanel.cs
- DataBindingExpressionBuilder.cs
- FixedSOMLineRanges.cs
- StreamAsIStream.cs
- FileAuthorizationModule.cs
- InnerItemCollectionView.cs
- DataSpaceManager.cs
- Container.cs
- KeyGesture.cs
- SimpleMailWebEventProvider.cs
- unsafeIndexingFilterStream.cs
- ClientConvert.cs