Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / System / data / design / DbSourceParameterCollection.cs / 2 / DbSourceParameterCollection.cs
namespace System.Data.Design {
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using System.Diagnostics;
using System.Globalization;
internal class DbSourceParameterCollection : DataSourceCollectionBase, IDataParameterCollection, ICloneable {
internal DbSourceParameterCollection(DataSourceComponent collectionHost) : base(collectionHost){}
///
///
///
protected override INameService NameService {
get {
return SimpleNameService.DefaultInstance;
}
}
// explicit IDataParameterCollection implementation
object IDataParameterCollection.this[string parameterName] {
get {
int index = RangeCheck( parameterName );
return this.List[index];
}
set {
int index = RangeCheck( parameterName );
this.List[index] = value;
}
}
public DesignParameter this[int index] {
get {
return (DesignParameter) this.List[index];
}
}
public bool Contains( string value ) {
return (IndexOf(value) != -1);
}
public int IndexOf(string parameterName) {
int count = this.InnerList.Count;
// karolz 2/25/2002: Some backends allow for server settings that treat the parameter names in case-insensitive
// way. However it is probably good enough to assume here that all the names are case-sensitive.
for (int i = 0; i < count; ++i) {
if( StringUtil.EqualValue( parameterName, ((IDbDataParameter) this.InnerList[i]).ParameterName)) {
return i;
}
}
return -1;
}
private int RangeCheck(string parameterName) {
int index = IndexOf( parameterName );
if( index < 0 ) {
throw new InternalException(string.Format(System.Globalization.CultureInfo.CurrentCulture, VSDExceptions.DataSource.PARAMETER_NOT_FOUND_MSG, parameterName),
VSDExceptions.DataSource.PARAMETER_NOT_FOUND_CODE );
}
return index;
}
public void RemoveAt( string parameterName ) {
int index = RangeCheck( parameterName );
this.List.RemoveAt( index );
}
protected override Type ItemType {
get {
return typeof(DesignParameter);
}
}
public object Clone() {
DbSourceParameterCollection clone = new DbSourceParameterCollection(null);
foreach( DesignParameter param in this ) {
DesignParameter newParam = (DesignParameter) param.Clone();
((IList) clone).Add( newParam );
}
return clone;
}
}
}
// 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
- PropertyConverter.cs
- Rethrow.cs
- QilFunction.cs
- DataBindingHandlerAttribute.cs
- LiteralTextContainerControlBuilder.cs
- TextBoxView.cs
- Control.cs
- ProjectionPathBuilder.cs
- MobileContainerDesigner.cs
- Matrix3D.cs
- SystemIcons.cs
- XDeferredAxisSource.cs
- AttributeProviderAttribute.cs
- IMembershipProvider.cs
- ToolStripDropDownClosingEventArgs.cs
- ToolStripSplitButton.cs
- Restrictions.cs
- ReferencedAssembly.cs
- FixedDSBuilder.cs
- DrawTreeNodeEventArgs.cs
- FamilyCollection.cs
- TraceListeners.cs
- TraceLevelStore.cs
- validation.cs
- Rect3D.cs
- SQLRoleProvider.cs
- Interlocked.cs
- DataGridViewTextBoxEditingControl.cs
- XNodeSchemaApplier.cs
- ParallelDesigner.cs
- ImportCatalogPart.cs
- SafeCryptContextHandle.cs
- EastAsianLunisolarCalendar.cs
- ObjectStateManager.cs
- IdentityHolder.cs
- DeclaredTypeElement.cs
- OdbcDataReader.cs
- StylusTouchDevice.cs
- DataView.cs
- WebServiceResponseDesigner.cs
- ImageListDesigner.cs
- EmbeddedObject.cs
- VirtualPath.cs
- RefExpr.cs
- ThreadPoolTaskScheduler.cs
- PriorityBindingExpression.cs
- PagerSettings.cs
- SetIndexBinder.cs
- Resources.Designer.cs
- XmlAnyElementAttribute.cs
- StyleTypedPropertyAttribute.cs
- ConfigXmlAttribute.cs
- SocketPermission.cs
- ConnectionPointCookie.cs
- Vector3DAnimationUsingKeyFrames.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- DetailsViewPagerRow.cs
- ToolboxComponentsCreatedEventArgs.cs
- DynamicDocumentPaginator.cs
- SqlErrorCollection.cs
- EntityKeyElement.cs
- WindowsFormsHostAutomationPeer.cs
- Transform3DGroup.cs
- ClrProviderManifest.cs
- OperationInvokerTrace.cs
- initElementDictionary.cs
- EncodingNLS.cs
- DesignTimeTemplateParser.cs
- Vector3DKeyFrameCollection.cs
- CompiledRegexRunnerFactory.cs
- VariantWrapper.cs
- NativeMethods.cs
- DtrList.cs
- PublisherIdentityPermission.cs
- ConfigurationProperty.cs
- XslCompiledTransform.cs
- SafeNativeMemoryHandle.cs
- ExpressionBinding.cs
- ImageKeyConverter.cs
- HttpApplication.cs
- OleDbErrorCollection.cs
- UInt16Storage.cs
- RefExpr.cs
- AccessibleObject.cs
- ScrollContentPresenter.cs
- DataTrigger.cs
- SQLMoney.cs
- EventWaitHandle.cs
- MonthChangedEventArgs.cs
- DBSchemaTable.cs
- IntAverageAggregationOperator.cs
- ContractInstanceProvider.cs
- ProxyGenerationError.cs
- CatalogZone.cs
- HelpProvider.cs
- XmlILIndex.cs
- PrintDialog.cs
- SettingsProviderCollection.cs
- XPathMultyIterator.cs
- CodeCompileUnit.cs