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
- Thread.cs
- XpsLiterals.cs
- ConfigsHelper.cs
- EventItfInfo.cs
- ScopeCollection.cs
- WebPartAuthorizationEventArgs.cs
- LineVisual.cs
- HandlerBase.cs
- ProgressChangedEventArgs.cs
- StatusBarItemAutomationPeer.cs
- TableParagraph.cs
- ResXResourceSet.cs
- ByteAnimation.cs
- RadioButtonList.cs
- ErrorHandler.cs
- PersonalizationAdministration.cs
- BamlLocalizableResourceKey.cs
- Bits.cs
- HttpResponseInternalWrapper.cs
- SafeNativeMethods.cs
- AudienceUriMode.cs
- Pen.cs
- util.cs
- DatatypeImplementation.cs
- Quad.cs
- URLEditor.cs
- HttpHandlerAction.cs
- Int32CollectionValueSerializer.cs
- AttachInfo.cs
- Pair.cs
- RoutedEventArgs.cs
- ControlTemplate.cs
- PointAnimationUsingPath.cs
- HeaderUtility.cs
- QilReplaceVisitor.cs
- SrgsDocumentParser.cs
- AssemblyAttributesGoHere.cs
- HierarchicalDataSourceDesigner.cs
- WorkflowInstance.cs
- XmlSchemaType.cs
- ValueQuery.cs
- SettingsProviderCollection.cs
- SharedPerformanceCounter.cs
- TagNameToTypeMapper.cs
- HostProtectionException.cs
- QueryResponse.cs
- TypeContext.cs
- SynchronizationHandlesCodeDomSerializer.cs
- LocalizationCodeDomSerializer.cs
- LineProperties.cs
- SecureConversationDriver.cs
- DefaultSerializationProviderAttribute.cs
- MatrixTransform.cs
- PopOutPanel.cs
- DataServiceRequestOfT.cs
- TriggerCollection.cs
- MimeMapping.cs
- RequiredFieldValidator.cs
- X509CertificateCollection.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- SoapAttributeAttribute.cs
- OlePropertyStructs.cs
- NumberSubstitution.cs
- SoapTypeAttribute.cs
- GlobalId.cs
- SecurityDescriptor.cs
- SourceFileInfo.cs
- BaseHashHelper.cs
- EntityDataSourceChangingEventArgs.cs
- Main.cs
- ClientSponsor.cs
- DmlSqlGenerator.cs
- BulletedList.cs
- UIAgentMonitor.cs
- DocumentOrderQuery.cs
- HttpCapabilitiesEvaluator.cs
- DataSetUtil.cs
- ApplicationDirectoryMembershipCondition.cs
- BindingExpressionUncommonField.cs
- BindToObject.cs
- OracleEncoding.cs
- DbSetClause.cs
- GridLength.cs
- XNodeSchemaApplier.cs
- DateTimeOffset.cs
- MappingSource.cs
- XmlSchemaImporter.cs
- PngBitmapDecoder.cs
- SignHashRequest.cs
- ItemsControlAutomationPeer.cs
- SymbolTable.cs
- Region.cs
- Label.cs
- ToolStripDropDownButton.cs
- DataBoundControl.cs
- ContentType.cs
- XmlAnyElementAttribute.cs
- Normalizer.cs
- OutputCacheProfile.cs
- PaintValueEventArgs.cs