Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Shared / MS / Internal / SequentialUshortCollection.cs / 1 / SequentialUshortCollection.cs
//----------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Description: A class that implements ICollection for 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.
//----------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Description: A class that implements ICollection for 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
- RbTree.cs
- ConnectionPoolManager.cs
- EllipseGeometry.cs
- IgnoreFileBuildProvider.cs
- DataSourceSelectArguments.cs
- ConfigurationPermission.cs
- UnsafeNativeMethods.cs
- DiscoveryClientReferences.cs
- MasterPageParser.cs
- Vector3D.cs
- AssociationEndMember.cs
- BaseUriHelper.cs
- TypeConverterValueSerializer.cs
- AnnotationService.cs
- DataColumnCollection.cs
- MouseGestureConverter.cs
- DbConnectionPoolGroup.cs
- DataGridTableCollection.cs
- PerformanceCounterLib.cs
- SymmetricKey.cs
- TableCellCollection.cs
- ActionItem.cs
- ResourceExpressionBuilder.cs
- Point3DConverter.cs
- CollectionBase.cs
- GlyphManager.cs
- ClientUrlResolverWrapper.cs
- AssemblyNameProxy.cs
- Calendar.cs
- DiagnosticsElement.cs
- ParameterReplacerVisitor.cs
- DictionarySectionHandler.cs
- ConversionContext.cs
- Ref.cs
- UniqueContractNameValidationBehavior.cs
- AddInDeploymentState.cs
- EntitySqlQueryCacheKey.cs
- DataGridViewLayoutData.cs
- TransformedBitmap.cs
- GenericXmlSecurityToken.cs
- FormsAuthenticationEventArgs.cs
- InputDevice.cs
- InputBinder.cs
- ProviderUtil.cs
- OleDbRowUpdatingEvent.cs
- HScrollProperties.cs
- DragEvent.cs
- WebPartDeleteVerb.cs
- TaiwanLunisolarCalendar.cs
- AudioFormatConverter.cs
- MenuItemStyle.cs
- MachineKey.cs
- SimpleType.cs
- WaitHandleCannotBeOpenedException.cs
- AvTraceFormat.cs
- Calendar.cs
- Publisher.cs
- GridViewEditEventArgs.cs
- IdnMapping.cs
- Graphics.cs
- SymLanguageVendor.cs
- PluralizationServiceUtil.cs
- BrowserCapabilitiesFactoryBase.cs
- XmlDomTextWriter.cs
- EncryptedType.cs
- ToolStripTextBox.cs
- TrackBarDesigner.cs
- DoWhile.cs
- ZipFileInfo.cs
- IProvider.cs
- TranslateTransform3D.cs
- BulletedList.cs
- AbstractDataSvcMapFileLoader.cs
- PhysicalAddress.cs
- EmptyStringExpandableObjectConverter.cs
- ExpressionSelection.cs
- SEHException.cs
- SimpleMailWebEventProvider.cs
- DataGridParentRows.cs
- NativeBuffer.cs
- LabelLiteral.cs
- XPathDescendantIterator.cs
- SafeRightsManagementPubHandle.cs
- PagesChangedEventArgs.cs
- UnsafeNativeMethods.cs
- MouseOverProperty.cs
- TypeTypeConverter.cs
- InputChannelBinder.cs
- InitializerFacet.cs
- ReadOnlyHierarchicalDataSourceView.cs
- propertyentry.cs
- EdmRelationshipRoleAttribute.cs
- TextServicesDisplayAttribute.cs
- Expression.cs
- ImageInfo.cs
- Menu.cs
- TypeHelpers.cs
- InternalBufferOverflowException.cs
- ExternalException.cs
- MatcherBuilder.cs