Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Shared / MS / Internal / SequentialUshortCollection.cs / 1305600 / SequentialUshortCollection.cs
//---------------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // Description: A class that implements ICollectionfor a sequence of numbers [0..n-1]. // // // History: // 03/21/2005 : MLeonov - Created it. // //--------------------------------------------------------------------------- using System; using System.Windows; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Text; using System.Runtime.InteropServices; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace MS.Internal { internal class SequentialUshortCollection : ICollection { public SequentialUshortCollection(ushort count) { _count = count; } #region ICollection Members public void Add(ushort item) { throw new NotSupportedException(); } public void Clear() { throw new NotSupportedException(); } public bool Contains(ushort item) { return item < _count; } public void CopyTo(ushort[] array, int arrayIndex) { if (array == null) { throw new ArgumentNullException("array"); } if (array.Rank != 1) { throw new ArgumentException(SR.Get(SRID.Collection_BadRank)); } // The extra "arrayIndex >= array.Length" check in because even if _collection.Count // is 0 the index is not allowed to be equal or greater than the length // (from the MSDN ICollection docs) if (arrayIndex < 0 || arrayIndex >= array.Length || (arrayIndex + Count) > array.Length) { throw new ArgumentOutOfRangeException("arrayIndex"); } for (ushort i = 0; i < _count; ++i) array[arrayIndex + i] = i; } public int Count { get { return _count; } } public bool IsReadOnly { get { return true; } } public bool Remove(ushort item) { throw new NotSupportedException(); } #endregion #region IEnumerable Members public IEnumerator GetEnumerator() { for (ushort i = 0; i < _count; ++i) yield return i; } #endregion #region IEnumerable Members IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable )this).GetEnumerator(); } #endregion private ushort _count; } } // 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
- WebConfigurationFileMap.cs
- CultureInfo.cs
- SelectManyQueryOperator.cs
- AbstractSvcMapFileLoader.cs
- DataGridPagerStyle.cs
- PrePrepareMethodAttribute.cs
- MediaContext.cs
- SafeTimerHandle.cs
- XmlTextReaderImplHelpers.cs
- LinkArea.cs
- SocketInformation.cs
- input.cs
- Matrix3DValueSerializer.cs
- CssClassPropertyAttribute.cs
- XmlCustomFormatter.cs
- BindUriHelper.cs
- InputGestureCollection.cs
- ManualResetEvent.cs
- ProfileSection.cs
- CollectionViewSource.cs
- ToolStripRenderEventArgs.cs
- RegisteredExpandoAttribute.cs
- ping.cs
- LinearQuaternionKeyFrame.cs
- ProviderBase.cs
- AdornerLayer.cs
- controlskin.cs
- CheckBoxStandardAdapter.cs
- CompositeCollectionView.cs
- SystemWebExtensionsSectionGroup.cs
- DataSourceXmlSubItemAttribute.cs
- CalendarDataBindingHandler.cs
- MailDefinitionBodyFileNameEditor.cs
- SequenceFullException.cs
- TextShapeableCharacters.cs
- CompilerGeneratedAttribute.cs
- SqlDataSourceTableQuery.cs
- XmlDataSourceNodeDescriptor.cs
- OpCodes.cs
- VersionPair.cs
- TreeChangeInfo.cs
- ByteStack.cs
- SendKeys.cs
- DesignerCapabilities.cs
- PropertyGridCommands.cs
- ErrorStyle.cs
- DockPatternIdentifiers.cs
- ProfilePropertySettingsCollection.cs
- DataServiceResponse.cs
- IteratorFilter.cs
- RightsManagementPermission.cs
- HtmlButton.cs
- PageAsyncTaskManager.cs
- WebBaseEventKeyComparer.cs
- DrawingAttributes.cs
- PointCollectionValueSerializer.cs
- CodeAccessPermission.cs
- TransformedBitmap.cs
- SimpleMailWebEventProvider.cs
- CheckPair.cs
- CodePrimitiveExpression.cs
- WebSysDisplayNameAttribute.cs
- ObfuscateAssemblyAttribute.cs
- ZipIOFileItemStream.cs
- OracleParameterCollection.cs
- FileDataSource.cs
- FileRecordSequenceCompletedAsyncResult.cs
- PenContexts.cs
- DomainUpDown.cs
- WebPartConnectVerb.cs
- CodeCommentStatement.cs
- MatrixKeyFrameCollection.cs
- Timer.cs
- HotCommands.cs
- _LoggingObject.cs
- Light.cs
- FileUtil.cs
- ProofTokenCryptoHandle.cs
- KeyInstance.cs
- ReflectionPermission.cs
- DataSourceControlBuilder.cs
- SecurityKeyType.cs
- WebScriptEnablingElement.cs
- HexParser.cs
- TemplateBamlTreeBuilder.cs
- ContainerParaClient.cs
- SByteStorage.cs
- SqlClientMetaDataCollectionNames.cs
- UIElement.cs
- Int64Animation.cs
- TouchFrameEventArgs.cs
- DiagnosticsConfigurationHandler.cs
- TimeSpanConverter.cs
- HttpListenerContext.cs
- SystemEvents.cs
- Function.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- PathNode.cs
- Container.cs
- Binding.cs