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
- CodeTypeReferenceExpression.cs
- Variable.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- SequenceNumber.cs
- PageSettings.cs
- Constants.cs
- Opcode.cs
- RangeExpression.cs
- PrefixQName.cs
- ByteAnimationBase.cs
- DataObjectEventArgs.cs
- ContentValidator.cs
- EtwTrace.cs
- SQLGuid.cs
- GridLength.cs
- BaseCodeDomTreeGenerator.cs
- AppSecurityManager.cs
- SequenceQuery.cs
- Array.cs
- DbProviderServices.cs
- ReflectionUtil.cs
- JapaneseCalendar.cs
- SqlDataSourceStatusEventArgs.cs
- versioninfo.cs
- FormatSettings.cs
- NumberAction.cs
- __Filters.cs
- WsrmFault.cs
- _SpnDictionary.cs
- TextDecoration.cs
- FindRequestContext.cs
- SqlParameterCollection.cs
- CodeSnippetExpression.cs
- Privilege.cs
- PasswordBoxAutomationPeer.cs
- SrgsSubset.cs
- TemplateKey.cs
- EventData.cs
- DataControlExtensions.cs
- DataGridViewCellMouseEventArgs.cs
- DataSpaceManager.cs
- StorageEndPropertyMapping.cs
- DataRecordObjectView.cs
- ClockGroup.cs
- RelatedImageListAttribute.cs
- TdsParserSessionPool.cs
- AddInToken.cs
- StrongNameKeyPair.cs
- AssemblyBuilder.cs
- LinqDataSourceSelectEventArgs.cs
- Options.cs
- VirtualizingPanel.cs
- JavaScriptString.cs
- TagMapCollection.cs
- SqlServer2KCompatibilityCheck.cs
- TypeSystem.cs
- MetadataFile.cs
- ValidationErrorEventArgs.cs
- WebBrowser.cs
- OdbcDataReader.cs
- SevenBitStream.cs
- TransformCryptoHandle.cs
- _AutoWebProxyScriptHelper.cs
- SmtpCommands.cs
- MetaChildrenColumn.cs
- EventRecord.cs
- OutputCacheSection.cs
- AssemblyInfo.cs
- ProcessInputEventArgs.cs
- MimeMultiPart.cs
- Visual3D.cs
- SHA384.cs
- TokenBasedSetEnumerator.cs
- BackStopAuthenticationModule.cs
- BaseDataBoundControl.cs
- TemplatedAdorner.cs
- SystemParameters.cs
- TagPrefixAttribute.cs
- ReadOnlyDictionary.cs
- SchemaCollectionPreprocessor.cs
- PtsCache.cs
- FragmentQueryProcessor.cs
- HorizontalAlignConverter.cs
- EpmCustomContentSerializer.cs
- XmlBindingWorker.cs
- AlternateView.cs
- WebPageTraceListener.cs
- Table.cs
- QuaternionRotation3D.cs
- TextTreeInsertUndoUnit.cs
- XPathSelfQuery.cs
- SaveRecipientRequest.cs
- BaseProcessor.cs
- Collection.cs
- RecipientIdentity.cs
- TraceRecords.cs
- ParserStack.cs
- DbProviderManifest.cs
- SessionState.cs
- TrackingMemoryStreamFactory.cs