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
- MatrixStack.cs
- HttpListenerPrefixCollection.cs
- DataGridCommandEventArgs.cs
- WebBaseEventKeyComparer.cs
- SqlCommandSet.cs
- WebEventTraceProvider.cs
- ComboBoxItem.cs
- CodeExporter.cs
- VectorKeyFrameCollection.cs
- TransformConverter.cs
- FixedDocumentSequencePaginator.cs
- ListControl.cs
- ScriptReferenceBase.cs
- TextParentUndoUnit.cs
- PenLineJoinValidation.cs
- SiteOfOriginContainer.cs
- ValidationError.cs
- CustomValidator.cs
- handlecollector.cs
- DataGridViewCellStyleEditor.cs
- DetailsViewDeletedEventArgs.cs
- Pkcs7Recipient.cs
- Calendar.cs
- MethodBuilder.cs
- SimpleModelProvider.cs
- RectangleGeometry.cs
- SQLGuid.cs
- dataprotectionpermissionattribute.cs
- InstanceLockLostException.cs
- MetafileHeaderWmf.cs
- ObjectReferenceStack.cs
- SaveFileDialog.cs
- ExpandCollapsePattern.cs
- DynamicEntity.cs
- ImageMapEventArgs.cs
- MonthCalendar.cs
- WorkflowPersistenceService.cs
- DataGridItemAttachedStorage.cs
- RewritingValidator.cs
- WindowsFormsHost.cs
- SqlFactory.cs
- ReadOnlyCollectionBase.cs
- _NegoState.cs
- GlobalizationSection.cs
- ScrollBar.cs
- Evidence.cs
- XamlVector3DCollectionSerializer.cs
- InvokeAction.cs
- SingleAnimation.cs
- MethodToken.cs
- ISAPIWorkerRequest.cs
- controlskin.cs
- FormsAuthentication.cs
- ActiveXHost.cs
- SQLCharsStorage.cs
- ContextMenuStrip.cs
- Preprocessor.cs
- EntityFunctions.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- CompositeActivityTypeDescriptor.cs
- BaseParser.cs
- ToolStripSystemRenderer.cs
- TabOrder.cs
- ProviderException.cs
- KnownBoxes.cs
- MaterialGroup.cs
- MarkupExtensionReturnTypeAttribute.cs
- BindStream.cs
- Registry.cs
- MD5Cng.cs
- SslStream.cs
- WebPartCancelEventArgs.cs
- SR.cs
- DataGridLengthConverter.cs
- SqlUtil.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- UnsafeMethods.cs
- CodeDomSerializerBase.cs
- Int32Storage.cs
- TreeWalkHelper.cs
- XhtmlBasicPhoneCallAdapter.cs
- StorageSetMapping.cs
- MemberDescriptor.cs
- IDQuery.cs
- SqlUdtInfo.cs
- BaseCodeDomTreeGenerator.cs
- XPathNavigator.cs
- DeleteCardRequest.cs
- HostedElements.cs
- UnsafeNativeMethods.cs
- HtmlControl.cs
- ConstraintEnumerator.cs
- FileDetails.cs
- ColumnTypeConverter.cs
- SessionStateUtil.cs
- DeploymentExceptionMapper.cs
- DelayLoadType.cs
- X509Certificate2.cs
- ColumnReorderedEventArgs.cs
- ProfilePropertySettingsCollection.cs