Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / SiteMapNodeCollection.cs / 1 / SiteMapNodeCollection.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
* Copyright (c) 2002 Microsoft Corporation
*/
namespace System.Web {
using System;
using System.Collections;
using System.Diagnostics;
using System.Security.Permissions;
using System.Web.UI;
using System.Web.UI.WebControls;
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public class SiteMapNodeCollection : IHierarchicalEnumerable, IList {
internal static SiteMapNodeCollection Empty = new ReadOnlySiteMapNodeCollection(new SiteMapNodeCollection());
private int _initialSize = 10;
private ArrayList _innerList;
public SiteMapNodeCollection() {
}
// Create the collection with initial capacity.
public SiteMapNodeCollection(int capacity) {
_initialSize = capacity;
}
public SiteMapNodeCollection(SiteMapNode value) {
if (value == null) {
throw new ArgumentNullException("value");
}
_initialSize = 1;
List.Add(value);
}
public SiteMapNodeCollection(SiteMapNode[] value) {
if (value == null) {
throw new ArgumentNullException("value");
}
_initialSize = value.Length;
AddRangeInternal(value);
}
public SiteMapNodeCollection(SiteMapNodeCollection value) {
if (value == null) {
throw new ArgumentNullException("value");
}
_initialSize = value.Count;
AddRangeInternal(value);
}
public virtual int Count {
get {
return List.Count;
}
}
public virtual bool IsSynchronized {
get {
return List.IsSynchronized;
}
}
public virtual object SyncRoot {
get {
return List.SyncRoot;
}
}
private ArrayList List {
get {
Debug.Assert(!(this is ReadOnlySiteMapNodeCollection), "List should not be called on ReadOnlySiteMapNodeCollection.");
if (_innerList == null) {
_innerList = new ArrayList(_initialSize);
}
return _innerList;
}
}
public virtual bool IsFixedSize {
get { return false; }
}
public virtual bool IsReadOnly {
get { return false; }
}
public virtual SiteMapNode this[int index] {
get {
return (SiteMapNode)List[index];
}
set {
if (value == null) {
throw new ArgumentNullException("value");
}
List[index] = value;
}
}
public virtual int Add(SiteMapNode value) {
if (value == null) {
throw new ArgumentNullException("value");
}
return List.Add(value);
}
public virtual void AddRange(SiteMapNode[] value) {
AddRangeInternal(value);
}
public virtual void AddRange(SiteMapNodeCollection value) {
AddRangeInternal(value);
}
private void AddRangeInternal(IList value) {
if (value == null) {
throw new ArgumentNullException("value");
}
List.AddRange(value);
}
public virtual void Clear() {
List.Clear();
}
public virtual bool Contains(SiteMapNode value) {
return List.Contains(value);
}
public virtual void CopyTo(SiteMapNode[] array, int index) {
CopyToInternal(array, index);
}
internal virtual void CopyToInternal(Array array, int index) {
List.CopyTo(array, index);
}
public SiteMapDataSourceView GetDataSourceView(SiteMapDataSource owner, string viewName) {
return new SiteMapDataSourceView(owner, viewName, this);
}
public virtual IEnumerator GetEnumerator() {
return List.GetEnumerator();
}
public SiteMapHierarchicalDataSourceView GetHierarchicalDataSourceView() {
return new SiteMapHierarchicalDataSourceView(this);
}
public virtual IHierarchyData GetHierarchyData(object enumeratedItem) {
return enumeratedItem as IHierarchyData;
}
public virtual int IndexOf(SiteMapNode value) {
return List.IndexOf(value);
}
public virtual void Insert(int index, SiteMapNode value) {
if (value == null) {
throw new ArgumentNullException("value");
}
List.Insert(index, value);
}
protected virtual void OnValidate(object value) {
if (value == null) {
throw new ArgumentNullException("value");
}
if (!(value is SiteMapNode)) {
throw new ArgumentException(
SR.GetString(SR.SiteMapNodeCollection_Invalid_Type, value.GetType().ToString()));
}
}
public static SiteMapNodeCollection ReadOnly(SiteMapNodeCollection collection) {
if (collection == null) {
throw new ArgumentNullException("collection");
}
return new ReadOnlySiteMapNodeCollection(collection);
}
public virtual void Remove(SiteMapNode value) {
if (value == null) {
throw new ArgumentNullException("value");
}
List.Remove(value);
}
public virtual void RemoveAt(int index) {
List.RemoveAt(index);
}
#region ICollection implementation
int ICollection.Count {
get {
return Count;
}
}
bool ICollection.IsSynchronized {
get {
return IsSynchronized;
}
}
object ICollection.SyncRoot {
get {
return SyncRoot;
}
}
void ICollection.CopyTo(Array array, int index) {
CopyToInternal(array, index);
}
#endregion
#region IEnumerable implementation
IEnumerator IEnumerable.GetEnumerator() {
return GetEnumerator();
}
#endregion
#region IHierarchicalEnumerable implementation
///
IHierarchyData IHierarchicalEnumerable.GetHierarchyData(object enumeratedItem) {
return GetHierarchyData(enumeratedItem);
}
#endregion
#region IList implementation
///
bool IList.IsFixedSize {
get { return IsFixedSize; }
}
///
bool IList.IsReadOnly {
get { return IsReadOnly; }
}
///
object IList.this[int index] {
get {
return this[index];
}
set {
OnValidate(value);
this[index] = (SiteMapNode)value;
}
}
int IList.Add(object value) {
OnValidate(value);
return Add((SiteMapNode)value);
}
void IList.Clear() {
Clear();
}
bool IList.Contains(object value) {
OnValidate(value);
return Contains((SiteMapNode)value);
}
int IList.IndexOf(object value) {
OnValidate(value);
return IndexOf((SiteMapNode)value);
}
void IList.Insert(int index, object value) {
OnValidate(value);
Insert(index, (SiteMapNode)value);
}
void IList.Remove(object value) {
OnValidate(value);
Remove((SiteMapNode)value);
}
void IList.RemoveAt(int index) {
RemoveAt(index);
}
#endregion
private sealed class ReadOnlySiteMapNodeCollection : SiteMapNodeCollection {
private SiteMapNodeCollection _internalCollection;
internal ReadOnlySiteMapNodeCollection(SiteMapNodeCollection collection) {
if (collection == null) {
throw new ArgumentNullException("collection");
}
_internalCollection = collection;
}
public override int Count {
get {
return _internalCollection.Count;
}
}
public override bool IsFixedSize {
get { return true; }
}
public override bool IsReadOnly {
get { return true; }
}
public override bool IsSynchronized {
get {
return _internalCollection.IsSynchronized;
}
}
public override object SyncRoot {
get {
return _internalCollection.SyncRoot;
}
}
public override int Add(SiteMapNode value) {
throw new NotSupportedException(SR.GetString(SR.Collection_readonly));
}
public override void AddRange(SiteMapNode[] value) {
throw new NotSupportedException(SR.GetString(SR.Collection_readonly));
}
public override void AddRange(SiteMapNodeCollection value) {
throw new NotSupportedException(SR.GetString(SR.Collection_readonly));
}
public override void Clear() {
throw new NotSupportedException(SR.GetString(SR.Collection_readonly));
}
public override bool Contains(SiteMapNode node) {
return _internalCollection.Contains(node);
}
internal override void CopyToInternal(Array array, int index) {
_internalCollection.List.CopyTo(array, index);
}
public override SiteMapNode this[int index] {
get {
return _internalCollection[index];
}
set {
throw new NotSupportedException(SR.GetString(SR.Collection_readonly));
}
}
public override IEnumerator GetEnumerator() {
return _internalCollection.GetEnumerator();
}
public override int IndexOf(SiteMapNode value) {
return _internalCollection.IndexOf(value);
}
public override void Insert(int index, SiteMapNode value) {
throw new NotSupportedException(SR.GetString(SR.Collection_readonly));
}
public override void Remove(SiteMapNode value) {
throw new NotSupportedException(SR.GetString(SR.Collection_readonly));
}
public override void RemoveAt(int index) {
throw new NotSupportedException(SR.GetString(SR.Collection_readonly));
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
* Copyright (c) 2002 Microsoft Corporation
*/
namespace System.Web {
using System;
using System.Collections;
using System.Diagnostics;
using System.Security.Permissions;
using System.Web.UI;
using System.Web.UI.WebControls;
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public class SiteMapNodeCollection : IHierarchicalEnumerable, IList {
internal static SiteMapNodeCollection Empty = new ReadOnlySiteMapNodeCollection(new SiteMapNodeCollection());
private int _initialSize = 10;
private ArrayList _innerList;
public SiteMapNodeCollection() {
}
// Create the collection with initial capacity.
public SiteMapNodeCollection(int capacity) {
_initialSize = capacity;
}
public SiteMapNodeCollection(SiteMapNode value) {
if (value == null) {
throw new ArgumentNullException("value");
}
_initialSize = 1;
List.Add(value);
}
public SiteMapNodeCollection(SiteMapNode[] value) {
if (value == null) {
throw new ArgumentNullException("value");
}
_initialSize = value.Length;
AddRangeInternal(value);
}
public SiteMapNodeCollection(SiteMapNodeCollection value) {
if (value == null) {
throw new ArgumentNullException("value");
}
_initialSize = value.Count;
AddRangeInternal(value);
}
public virtual int Count {
get {
return List.Count;
}
}
public virtual bool IsSynchronized {
get {
return List.IsSynchronized;
}
}
public virtual object SyncRoot {
get {
return List.SyncRoot;
}
}
private ArrayList List {
get {
Debug.Assert(!(this is ReadOnlySiteMapNodeCollection), "List should not be called on ReadOnlySiteMapNodeCollection.");
if (_innerList == null) {
_innerList = new ArrayList(_initialSize);
}
return _innerList;
}
}
public virtual bool IsFixedSize {
get { return false; }
}
public virtual bool IsReadOnly {
get { return false; }
}
public virtual SiteMapNode this[int index] {
get {
return (SiteMapNode)List[index];
}
set {
if (value == null) {
throw new ArgumentNullException("value");
}
List[index] = value;
}
}
public virtual int Add(SiteMapNode value) {
if (value == null) {
throw new ArgumentNullException("value");
}
return List.Add(value);
}
public virtual void AddRange(SiteMapNode[] value) {
AddRangeInternal(value);
}
public virtual void AddRange(SiteMapNodeCollection value) {
AddRangeInternal(value);
}
private void AddRangeInternal(IList value) {
if (value == null) {
throw new ArgumentNullException("value");
}
List.AddRange(value);
}
public virtual void Clear() {
List.Clear();
}
public virtual bool Contains(SiteMapNode value) {
return List.Contains(value);
}
public virtual void CopyTo(SiteMapNode[] array, int index) {
CopyToInternal(array, index);
}
internal virtual void CopyToInternal(Array array, int index) {
List.CopyTo(array, index);
}
public SiteMapDataSourceView GetDataSourceView(SiteMapDataSource owner, string viewName) {
return new SiteMapDataSourceView(owner, viewName, this);
}
public virtual IEnumerator GetEnumerator() {
return List.GetEnumerator();
}
public SiteMapHierarchicalDataSourceView GetHierarchicalDataSourceView() {
return new SiteMapHierarchicalDataSourceView(this);
}
public virtual IHierarchyData GetHierarchyData(object enumeratedItem) {
return enumeratedItem as IHierarchyData;
}
public virtual int IndexOf(SiteMapNode value) {
return List.IndexOf(value);
}
public virtual void Insert(int index, SiteMapNode value) {
if (value == null) {
throw new ArgumentNullException("value");
}
List.Insert(index, value);
}
protected virtual void OnValidate(object value) {
if (value == null) {
throw new ArgumentNullException("value");
}
if (!(value is SiteMapNode)) {
throw new ArgumentException(
SR.GetString(SR.SiteMapNodeCollection_Invalid_Type, value.GetType().ToString()));
}
}
public static SiteMapNodeCollection ReadOnly(SiteMapNodeCollection collection) {
if (collection == null) {
throw new ArgumentNullException("collection");
}
return new ReadOnlySiteMapNodeCollection(collection);
}
public virtual void Remove(SiteMapNode value) {
if (value == null) {
throw new ArgumentNullException("value");
}
List.Remove(value);
}
public virtual void RemoveAt(int index) {
List.RemoveAt(index);
}
#region ICollection implementation
int ICollection.Count {
get {
return Count;
}
}
bool ICollection.IsSynchronized {
get {
return IsSynchronized;
}
}
object ICollection.SyncRoot {
get {
return SyncRoot;
}
}
void ICollection.CopyTo(Array array, int index) {
CopyToInternal(array, index);
}
#endregion
#region IEnumerable implementation
IEnumerator IEnumerable.GetEnumerator() {
return GetEnumerator();
}
#endregion
#region IHierarchicalEnumerable implementation
///
IHierarchyData IHierarchicalEnumerable.GetHierarchyData(object enumeratedItem) {
return GetHierarchyData(enumeratedItem);
}
#endregion
#region IList implementation
///
bool IList.IsFixedSize {
get { return IsFixedSize; }
}
///
bool IList.IsReadOnly {
get { return IsReadOnly; }
}
///
object IList.this[int index] {
get {
return this[index];
}
set {
OnValidate(value);
this[index] = (SiteMapNode)value;
}
}
int IList.Add(object value) {
OnValidate(value);
return Add((SiteMapNode)value);
}
void IList.Clear() {
Clear();
}
bool IList.Contains(object value) {
OnValidate(value);
return Contains((SiteMapNode)value);
}
int IList.IndexOf(object value) {
OnValidate(value);
return IndexOf((SiteMapNode)value);
}
void IList.Insert(int index, object value) {
OnValidate(value);
Insert(index, (SiteMapNode)value);
}
void IList.Remove(object value) {
OnValidate(value);
Remove((SiteMapNode)value);
}
void IList.RemoveAt(int index) {
RemoveAt(index);
}
#endregion
private sealed class ReadOnlySiteMapNodeCollection : SiteMapNodeCollection {
private SiteMapNodeCollection _internalCollection;
internal ReadOnlySiteMapNodeCollection(SiteMapNodeCollection collection) {
if (collection == null) {
throw new ArgumentNullException("collection");
}
_internalCollection = collection;
}
public override int Count {
get {
return _internalCollection.Count;
}
}
public override bool IsFixedSize {
get { return true; }
}
public override bool IsReadOnly {
get { return true; }
}
public override bool IsSynchronized {
get {
return _internalCollection.IsSynchronized;
}
}
public override object SyncRoot {
get {
return _internalCollection.SyncRoot;
}
}
public override int Add(SiteMapNode value) {
throw new NotSupportedException(SR.GetString(SR.Collection_readonly));
}
public override void AddRange(SiteMapNode[] value) {
throw new NotSupportedException(SR.GetString(SR.Collection_readonly));
}
public override void AddRange(SiteMapNodeCollection value) {
throw new NotSupportedException(SR.GetString(SR.Collection_readonly));
}
public override void Clear() {
throw new NotSupportedException(SR.GetString(SR.Collection_readonly));
}
public override bool Contains(SiteMapNode node) {
return _internalCollection.Contains(node);
}
internal override void CopyToInternal(Array array, int index) {
_internalCollection.List.CopyTo(array, index);
}
public override SiteMapNode this[int index] {
get {
return _internalCollection[index];
}
set {
throw new NotSupportedException(SR.GetString(SR.Collection_readonly));
}
}
public override IEnumerator GetEnumerator() {
return _internalCollection.GetEnumerator();
}
public override int IndexOf(SiteMapNode value) {
return _internalCollection.IndexOf(value);
}
public override void Insert(int index, SiteMapNode value) {
throw new NotSupportedException(SR.GetString(SR.Collection_readonly));
}
public override void Remove(SiteMapNode value) {
throw new NotSupportedException(SR.GetString(SR.Collection_readonly));
}
public override void RemoveAt(int index) {
throw new NotSupportedException(SR.GetString(SR.Collection_readonly));
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MsmqVerifier.cs
- CapiNative.cs
- EntityDataSourceSelectedEventArgs.cs
- RegisteredHiddenField.cs
- ObjectDataSourceSelectingEventArgs.cs
- OutputChannelBinder.cs
- OneToOneMappingSerializer.cs
- ContentPlaceHolder.cs
- CounterCreationData.cs
- ReadOnlyObservableCollection.cs
- glyphs.cs
- DbDataAdapter.cs
- WebPartZoneCollection.cs
- path.cs
- ProgressiveCrcCalculatingStream.cs
- HttpResponseWrapper.cs
- Parallel.cs
- IdnMapping.cs
- DocumentApplicationJournalEntry.cs
- AdCreatedEventArgs.cs
- MonthCalendarDesigner.cs
- DateTimeParse.cs
- ComponentTray.cs
- StringKeyFrameCollection.cs
- PersonalizationState.cs
- TableHeaderCell.cs
- PerformanceCounterNameAttribute.cs
- ColumnHeaderConverter.cs
- ContextQuery.cs
- GCHandleCookieTable.cs
- Latin1Encoding.cs
- SchemaConstraints.cs
- WebServiceHostFactory.cs
- TdsParserStaticMethods.cs
- LicenseManager.cs
- DataRelation.cs
- CompilationUtil.cs
- DriveNotFoundException.cs
- ObjectDataSourceSelectingEventArgs.cs
- EnumBuilder.cs
- BordersPage.cs
- ByteStorage.cs
- MSG.cs
- IUnknownConstantAttribute.cs
- Adorner.cs
- Substitution.cs
- WebPartDescriptionCollection.cs
- StretchValidation.cs
- GeometryValueSerializer.cs
- SchemaName.cs
- EdmPropertyAttribute.cs
- ItemsPanelTemplate.cs
- ClonableStack.cs
- VisualBasic.cs
- IChannel.cs
- ExceptionUtil.cs
- _SafeNetHandles.cs
- Registry.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- WaitHandleCannotBeOpenedException.cs
- ToolStripPanelRenderEventArgs.cs
- PermissionToken.cs
- FrameworkPropertyMetadata.cs
- TextFormatterContext.cs
- DocumentPropertiesDialog.cs
- EnumDataContract.cs
- ExpressionEvaluator.cs
- SapiGrammar.cs
- _CookieModule.cs
- TreeNodeStyleCollection.cs
- CodeComment.cs
- DocumentApplicationJournalEntry.cs
- XamlInterfaces.cs
- ParserExtension.cs
- ModelItemCollection.cs
- LocationFactory.cs
- TraceSection.cs
- CodeGroup.cs
- XmlQueryRuntime.cs
- DataControlImageButton.cs
- UnknownBitmapDecoder.cs
- RadioButtonStandardAdapter.cs
- CookieHandler.cs
- ScaleTransform.cs
- SoapAttributeAttribute.cs
- NativeMethodsCLR.cs
- SchemaTableColumn.cs
- TreeView.cs
- DependencyPropertyValueSerializer.cs
- NegationPusher.cs
- Light.cs
- XmlSchemaSet.cs
- MediaPlayer.cs
- RenderCapability.cs
- XmlToDatasetMap.cs
- Convert.cs
- WSSecurityOneDotOneSendSecurityHeader.cs
- TextServicesContext.cs
- Converter.cs
- errorpatternmatcher.cs