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
- SafeHGlobalHandleCritical.cs
- PersistenceContextEnlistment.cs
- XpsSerializationManagerAsync.cs
- HttpHeaderCollection.cs
- BlobPersonalizationState.cs
- LostFocusEventManager.cs
- BodyGlyph.cs
- HttpWebRequest.cs
- XmlObjectSerializer.cs
- InstanceOwnerException.cs
- Maps.cs
- ProviderConnectionPointCollection.cs
- SystemKeyConverter.cs
- XmlSerializer.cs
- TypedLocationWrapper.cs
- JobDuplex.cs
- XmlBoundElement.cs
- CodePageEncoding.cs
- AuthenticationModuleElement.cs
- ResourceIDHelper.cs
- InfocardInteractiveChannelInitializer.cs
- TempFiles.cs
- ImageDrawing.cs
- CellCreator.cs
- PageCodeDomTreeGenerator.cs
- DateTimeConstantAttribute.cs
- FormsIdentity.cs
- XmlAttributeCollection.cs
- TypeDescriptor.cs
- RelatedEnd.cs
- ScriptIgnoreAttribute.cs
- ByteRangeDownloader.cs
- IntSecurity.cs
- RequestCachePolicyConverter.cs
- _UriTypeConverter.cs
- ActivityValidator.cs
- Matrix3DValueSerializer.cs
- NumberFormatInfo.cs
- ScriptingWebServicesSectionGroup.cs
- CodeDirectoryCompiler.cs
- ColumnPropertiesGroup.cs
- SafeFileMapViewHandle.cs
- DataGridViewColumnDesigner.cs
- SettingsSavedEventArgs.cs
- FaultPropagationRecord.cs
- XmlBinaryReaderSession.cs
- CommandField.cs
- XmlReader.cs
- WasEndpointConfigContainer.cs
- XmlDataImplementation.cs
- ConfigurationManagerHelper.cs
- EditingCommands.cs
- SqlCommandSet.cs
- QilChoice.cs
- Size.cs
- WebPartDisplayModeEventArgs.cs
- PrefixQName.cs
- ObjectStateFormatter.cs
- ObjectRef.cs
- XmlExtensionFunction.cs
- NotSupportedException.cs
- PlatformNotSupportedException.cs
- NetPeerTcpBindingCollectionElement.cs
- ColorMap.cs
- SystemIPInterfaceStatistics.cs
- VerificationAttribute.cs
- SqlVersion.cs
- XhtmlStyleClass.cs
- TypeGeneratedEventArgs.cs
- SchemaNames.cs
- FilteredAttributeCollection.cs
- StringExpressionSet.cs
- BindingSource.cs
- HelpProvider.cs
- TimeZone.cs
- ArrayMergeHelper.cs
- TreeIterators.cs
- EntityContainer.cs
- ConnectionManagementElement.cs
- CssClassPropertyAttribute.cs
- UniqueIdentifierService.cs
- ParameterToken.cs
- RightsManagementUser.cs
- XmlReflectionMember.cs
- BamlStream.cs
- Base64Decoder.cs
- CryptoStream.cs
- ProgressChangedEventArgs.cs
- SystemIPv6InterfaceProperties.cs
- XamlSerializerUtil.cs
- XamlGridLengthSerializer.cs
- ButtonBase.cs
- ExtenderControl.cs
- CombinedGeometry.cs
- AttributeInfo.cs
- SafeCertificateStore.cs
- TemplatePartAttribute.cs
- DocumentPaginator.cs
- FixedDocumentSequencePaginator.cs
- ValueExpressions.cs