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
- XmlName.cs
- NeutralResourcesLanguageAttribute.cs
- RegionIterator.cs
- GiveFeedbackEvent.cs
- JapaneseLunisolarCalendar.cs
- ArrayExtension.cs
- NetNamedPipeBindingCollectionElement.cs
- xdrvalidator.cs
- AuthStoreRoleProvider.cs
- Missing.cs
- CheckBox.cs
- DataKey.cs
- TextSpan.cs
- ValidatedControlConverter.cs
- HuffModule.cs
- MergePropertyDescriptor.cs
- XmlValidatingReaderImpl.cs
- RootAction.cs
- PeerTransportSecuritySettings.cs
- TextCollapsingProperties.cs
- ScrollBar.cs
- RelationalExpressions.cs
- DiagnosticTraceSource.cs
- RecordManager.cs
- TemplateKeyConverter.cs
- ExplicitDiscriminatorMap.cs
- UpdateExpressionVisitor.cs
- ActivityExecutionContextCollection.cs
- OperandQuery.cs
- HtmlInputPassword.cs
- SortQuery.cs
- ExtensionFile.cs
- ClientReliableChannelBinder.cs
- InheritanceAttribute.cs
- WindowsListViewSubItem.cs
- TypeReference.cs
- MaterialGroup.cs
- SiteMapNodeItemEventArgs.cs
- IgnoreDeviceFilterElement.cs
- CaseInsensitiveComparer.cs
- BufferedGraphicsManager.cs
- TextTrailingWordEllipsis.cs
- SimpleBitVector32.cs
- XDRSchema.cs
- NetMsmqBindingElement.cs
- SqlException.cs
- ReversePositionQuery.cs
- StylusPointDescription.cs
- ReferenceEqualityComparer.cs
- DataGridPagerStyle.cs
- VariableQuery.cs
- COAUTHIDENTITY.cs
- AutoGeneratedField.cs
- IntSecurity.cs
- CompilationAssemblyInstallComponent.cs
- XmlQualifiedName.cs
- ThousandthOfEmRealDoubles.cs
- ExpressionReplacer.cs
- HttpsHostedTransportConfiguration.cs
- LoginCancelEventArgs.cs
- CodeNamespace.cs
- DataGridViewTextBoxCell.cs
- QueueProcessor.cs
- DatagridviewDisplayedBandsData.cs
- CqlGenerator.cs
- Process.cs
- PersonalizationEntry.cs
- BookmarkManager.cs
- BidirectionalDictionary.cs
- Cursor.cs
- XamlPathDataSerializer.cs
- XhtmlBasicControlAdapter.cs
- ObjectPersistData.cs
- OperatorExpressions.cs
- DesignerRegion.cs
- Track.cs
- BinaryKeyIdentifierClause.cs
- DynamicExpression.cs
- FormatterConverter.cs
- SqlReferenceCollection.cs
- FlowNode.cs
- TextChange.cs
- ContainsRowNumberChecker.cs
- COAUTHIDENTITY.cs
- XmlSchemaCompilationSettings.cs
- SQLStringStorage.cs
- RepeaterItemCollection.cs
- JapaneseCalendar.cs
- TraceLog.cs
- XmlHierarchicalEnumerable.cs
- ClientTarget.cs
- keycontainerpermission.cs
- ReferenceConverter.cs
- StringSource.cs
- ChannelManager.cs
- ToolStripPanelRow.cs
- XmlSchemaGroup.cs
- VoiceInfo.cs
- EntityContainerRelationshipSetEnd.cs
- ColumnWidthChangingEvent.cs