Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / CompMod / System / CodeDOM / CodeNamespaceImportCollection.cs / 1 / CodeNamespaceImportCollection.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.CodeDom {
using System.Diagnostics;
using System;
using System.Collections;
using System.Runtime.InteropServices;
using System.Globalization;
///
///
/// Manages a collection of objects.
///
///
[
ClassInterface(ClassInterfaceType.AutoDispatch),
ComVisible(true),
Serializable,
]
public class CodeNamespaceImportCollection : IList {
private ArrayList data = new ArrayList();
private Hashtable keys = new Hashtable(StringComparer.OrdinalIgnoreCase);
///
///
/// Indexer method that provides collection access.
///
///
public CodeNamespaceImport this[int index] {
get {
return ((CodeNamespaceImport)data[index]);
}
set {
data[index] = value;
SyncKeys();
}
}
///
///
/// Gets or sets the number of namespaces in the collection.
///
///
public int Count {
get {
return data.Count;
}
}
///
bool IList.IsReadOnly
{
get
{
return false;
}
}
///
bool IList.IsFixedSize
{
get
{
return false;
}
}
///
///
/// Adds a namespace import to the collection.
///
///
public void Add(CodeNamespaceImport value) {
if (!keys.ContainsKey(value.Namespace)) {
keys[value.Namespace] = value;
data.Add(value);
}
}
///
///
/// Adds a set of objects to the collection.
///
///
public void AddRange(CodeNamespaceImport[] value) {
if (value == null) {
throw new ArgumentNullException("value");
}
foreach (CodeNamespaceImport c in value) {
Add(c);
}
}
///
///
/// Clears the collection of members.
///
///
public void Clear() {
data.Clear();
keys.Clear();
}
///
///
/// Makes the collection of keys synchronised with the data.
///
///
private void SyncKeys() {
keys = new Hashtable(StringComparer.OrdinalIgnoreCase);
foreach(CodeNamespaceImport c in this) {
keys[c.Namespace] = c;
}
}
///
///
/// Gets an enumerator that enumerates the collection members.
///
///
public IEnumerator GetEnumerator() {
return data.GetEnumerator();
}
///
object IList.this[int index] {
get {
return this[index];
}
set {
this[index] = (CodeNamespaceImport)value;
SyncKeys();
}
}
///
int ICollection.Count {
get {
return Count;
}
}
///
bool ICollection.IsSynchronized {
get {
return false;
}
}
///
object ICollection.SyncRoot {
get {
return null;
}
}
///
void ICollection.CopyTo(Array array, int index) {
data.CopyTo(array, index);
}
///
IEnumerator IEnumerable.GetEnumerator() {
return GetEnumerator();
}
///
int IList.Add(object value) {
return data.Add((CodeNamespaceImport)value);
}
///
void IList.Clear() {
Clear();
}
///
bool IList.Contains(object value) {
return data.Contains(value);
}
///
int IList.IndexOf(object value) {
return data.IndexOf((CodeNamespaceImport)value);
}
///
void IList.Insert(int index, object value) {
data.Insert(index, (CodeNamespaceImport)value);
SyncKeys();
}
///
void IList.Remove(object value) {
data.Remove((CodeNamespaceImport)value);
SyncKeys();
}
///
void IList.RemoveAt(int index) {
data.RemoveAt(index);
SyncKeys();
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ResourceBinder.cs
- StrokeNodeData.cs
- TemplatedAdorner.cs
- ReadOnlyNameValueCollection.cs
- RootBrowserWindowAutomationPeer.cs
- TreeNodeStyle.cs
- TrackingValidationObjectDictionary.cs
- MouseDevice.cs
- ProviderBase.cs
- PerspectiveCamera.cs
- RelationshipDetailsRow.cs
- TrustLevel.cs
- CodeAttachEventStatement.cs
- CollectionDataContract.cs
- CodeIdentifier.cs
- EmptyStringExpandableObjectConverter.cs
- SystemDiagnosticsSection.cs
- UIAgentInitializationException.cs
- RelatedView.cs
- IPipelineRuntime.cs
- ResourceDescriptionAttribute.cs
- TreeViewCancelEvent.cs
- EncoderExceptionFallback.cs
- CodeNamespaceImportCollection.cs
- DataGridBoundColumn.cs
- Freezable.cs
- VisemeEventArgs.cs
- MailHeaderInfo.cs
- SafeTimerHandle.cs
- EventWaitHandleSecurity.cs
- Registry.cs
- MessagePropertyDescription.cs
- NativeWindow.cs
- FontDifferentiator.cs
- ValidatedControlConverter.cs
- FileUpload.cs
- PathFigure.cs
- Hex.cs
- NameTable.cs
- EventListener.cs
- DataServicePagingProviderWrapper.cs
- XmlSchemaSimpleContentExtension.cs
- PlatformCulture.cs
- ResourceProperty.cs
- Activator.cs
- XPathArrayIterator.cs
- TogglePattern.cs
- PersonalizableAttribute.cs
- ResourceManager.cs
- NativeMethods.cs
- TableChangeProcessor.cs
- Errors.cs
- SystemIPv6InterfaceProperties.cs
- TextSearch.cs
- Crypto.cs
- JpegBitmapEncoder.cs
- XmlSchemaGroup.cs
- ClientSideProviderDescription.cs
- Vector3DAnimation.cs
- PostBackTrigger.cs
- TransactionInterop.cs
- HttpStreamXmlDictionaryWriter.cs
- IndentTextWriter.cs
- PassportPrincipal.cs
- XmlIncludeAttribute.cs
- UnaryOperationBinder.cs
- QuerySettings.cs
- XmlChildEnumerator.cs
- RawStylusInput.cs
- PageAdapter.cs
- ExpressionWriter.cs
- EntityDataSourceChangingEventArgs.cs
- ThemeableAttribute.cs
- Visitors.cs
- VisualStyleTypesAndProperties.cs
- KerberosSecurityTokenProvider.cs
- Matrix3D.cs
- BehaviorEditorPart.cs
- NavigatorInput.cs
- TemplateField.cs
- ResponseBodyWriter.cs
- ConditionalBranch.cs
- ApplicationManager.cs
- TextFormatterImp.cs
- FrameworkName.cs
- XmlCompatibilityReader.cs
- DrawListViewItemEventArgs.cs
- RectangleGeometry.cs
- InlineCollection.cs
- RoutedEvent.cs
- WebPartTransformerAttribute.cs
- IODescriptionAttribute.cs
- Timeline.cs
- OracleLob.cs
- BCryptSafeHandles.cs
- EpmHelper.cs
- AccessDataSource.cs
- WindowsClientCredential.cs
- DataGridColumnCollection.cs
- TabControl.cs