Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Collections / Generic / IEnumerable.cs / 1305376 / IEnumerable.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Interface: IEnumerable ** **[....] ** ** ** Purpose: Interface for providing generic IEnumerators ** ** ===========================================================*/ namespace System.Collections.Generic { using System; using System.Collections; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using System.Diagnostics.Contracts; // Implement this interface if you need to support foreach semantics. // 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 IList and ICollection . [TypeDependencyAttribute("System.SZArrayHelper")] [ContractClass(typeof(IEnumerableContract<>))] #if FEATURE_CORECLR public interface IEnumerable : IEnumerable #if false { } #endif #else public interface IEnumerable : IEnumerable #endif { // Returns an IEnumerator for this enumerable Object. The enumerator provides // a simple way to access all the contents of a collection. /// new IEnumerator GetEnumerator(); } [ContractClassFor(typeof(IEnumerable<>))] internal class IEnumerableContract : System.Collections.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
- ObjectDataSourceWizardForm.cs
- DocumentViewer.cs
- PeerResolver.cs
- Gdiplus.cs
- SafeNativeMethods.cs
- DoubleKeyFrameCollection.cs
- DataControlField.cs
- TextBox.cs
- RowsCopiedEventArgs.cs
- GridViewDeletedEventArgs.cs
- AmbientLight.cs
- UnicastIPAddressInformationCollection.cs
- StateChangeEvent.cs
- SHA384Managed.cs
- XmlReader.cs
- Style.cs
- EditingMode.cs
- PassportAuthentication.cs
- SafeNativeMethodsCLR.cs
- TemplatedWizardStep.cs
- CodeDomSerializerException.cs
- VectorKeyFrameCollection.cs
- HttpCookieCollection.cs
- SetUserLanguageRequest.cs
- XmlEventCache.cs
- AttachedAnnotationChangedEventArgs.cs
- DeploymentSection.cs
- OdbcDataAdapter.cs
- SQLMembershipProvider.cs
- ControlEvent.cs
- ellipse.cs
- odbcmetadatacolumnnames.cs
- ResourcesBuildProvider.cs
- RestClientProxyHandler.cs
- DataGridViewCellValidatingEventArgs.cs
- ContextStaticAttribute.cs
- CompiledELinqQueryState.cs
- TimeSpanOrInfiniteConverter.cs
- SmiConnection.cs
- SmiSettersStream.cs
- OleCmdHelper.cs
- ListViewDataItem.cs
- TreeViewBindingsEditor.cs
- ContentElementAutomationPeer.cs
- TabItemWrapperAutomationPeer.cs
- altserialization.cs
- Hyperlink.cs
- EmptyElement.cs
- PersianCalendar.cs
- _DynamicWinsockMethods.cs
- XmlDataProvider.cs
- XmlSchemaSet.cs
- NameNode.cs
- AccessDataSourceView.cs
- StringHandle.cs
- x509utils.cs
- XmlDataLoader.cs
- MessageSecurityVersionConverter.cs
- COM2EnumConverter.cs
- CollectionViewGroup.cs
- CookieHandler.cs
- ClientSponsor.cs
- SchemaInfo.cs
- IntSecurity.cs
- WebConvert.cs
- QueryParameter.cs
- XmlSchemaSimpleTypeUnion.cs
- ValidationHelper.cs
- Point.cs
- Attributes.cs
- GifBitmapDecoder.cs
- FunctionImportElement.cs
- Visual3DCollection.cs
- DropTarget.cs
- BaseTemplateParser.cs
- MsmqTransportSecurity.cs
- ArraySortHelper.cs
- TextSpan.cs
- DataListItemCollection.cs
- ListViewDeletedEventArgs.cs
- AlphaSortedEnumConverter.cs
- XmlSchemaElement.cs
- OutputWindow.cs
- XsdBuilder.cs
- IndependentAnimationStorage.cs
- MissingMethodException.cs
- StaticTextPointer.cs
- PathFigureCollectionConverter.cs
- EncodedStreamFactory.cs
- AnimationLayer.cs
- FlowLayout.cs
- DynamicExpression.cs
- TokenizerHelper.cs
- DataReaderContainer.cs
- DataGridGeneralPage.cs
- OpenFileDialog.cs
- OleDbParameter.cs
- Figure.cs
- StrokeCollection.cs
- FigureParagraph.cs