Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / ExpressionBindingCollection.cs / 1305376 / ExpressionBindingCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI { using System; using System.Collections; using System.Collections.Specialized; using System.ComponentModel; using System.ComponentModel.Design; using System.Data; using System.Web.Util; using System.Security.Permissions; ////// public sealed class ExpressionBindingCollection : ICollection { private EventHandler changedEvent; private Hashtable bindings; private Hashtable removedBindings; ////// public ExpressionBindingCollection() { this.bindings = new Hashtable(StringComparer.OrdinalIgnoreCase); } ////// public int Count { get { return bindings.Count; } } ////// public bool IsReadOnly { get { return false; } } ////// public bool IsSynchronized { get { return false; } } ////// public ICollection RemovedBindings { get { int bindingCount = 0; ICollection keys = null; if (removedBindings != null) { keys = removedBindings.Keys; bindingCount = keys.Count; string[] removedNames = new string[bindingCount]; int i = 0; foreach (string s in keys) { removedNames[i++] = s; } removedBindings.Clear(); return removedNames; } else { return new string[0]; } } } ////// private Hashtable RemovedBindingsTable { get { if (removedBindings == null) { removedBindings = new Hashtable(StringComparer.OrdinalIgnoreCase); } return removedBindings; } } ////// public object SyncRoot { get { return this; } } ////// public ExpressionBinding this[string propertyName] { get { object o = bindings[propertyName]; if (o != null) return(ExpressionBinding)o; return null; } } public event EventHandler Changed { add { changedEvent = (EventHandler)Delegate.Combine(changedEvent, value); } remove { changedEvent = (EventHandler)Delegate.Remove(changedEvent, value); } } ////// public void Add(ExpressionBinding binding) { bindings[binding.PropertyName] = binding; RemovedBindingsTable.Remove(binding.PropertyName); OnChanged(); } ////// public bool Contains(string propName) { return bindings.Contains(propName); } ////// public void Clear() { ICollection keys = bindings.Keys; if ((keys.Count != 0) && (removedBindings == null)) { // ensure the removedBindings hashtable is created Hashtable h = RemovedBindingsTable; } foreach (string s in keys) { removedBindings[s] = String.Empty; } bindings.Clear(); OnChanged(); } ////// public void CopyTo(Array array, int index) { for (IEnumerator e = this.GetEnumerator(); e.MoveNext();) array.SetValue(e.Current, index++); } ////// public void CopyTo(ExpressionBinding[] array, int index) { for (IEnumerator e = this.GetEnumerator(); e.MoveNext();) array.SetValue(e.Current, index++); } ////// public IEnumerator GetEnumerator() { return bindings.Values.GetEnumerator(); } private void OnChanged() { if (changedEvent != null) { changedEvent(this, EventArgs.Empty); } } ////// public void Remove(string propertyName) { Remove(propertyName, true); } ////// public void Remove(ExpressionBinding binding) { Remove(binding.PropertyName, true); } ////// public void Remove(string propertyName, bool addToRemovedList) { if (Contains(propertyName)) { if (addToRemovedList && bindings.Contains(propertyName)) { RemovedBindingsTable[propertyName] = String.Empty; } bindings.Remove(propertyName); OnChanged(); } } } } // 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
- GetWinFXPath.cs
- HTTPNotFoundHandler.cs
- TemplatedAdorner.cs
- DateTimeOffset.cs
- ObjectListItemCollection.cs
- XmlHierarchicalDataSourceView.cs
- ObjectViewFactory.cs
- CodeMethodMap.cs
- LogStore.cs
- ConsoleTraceListener.cs
- TableLayoutCellPaintEventArgs.cs
- HandledEventArgs.cs
- RowCache.cs
- DataGridSortCommandEventArgs.cs
- EventManager.cs
- EmbossBitmapEffect.cs
- XPathSelectionIterator.cs
- RootContext.cs
- WindowsPen.cs
- MenuItemBindingCollection.cs
- UIServiceHelper.cs
- Debugger.cs
- FunctionGenerator.cs
- MultipartIdentifier.cs
- XmlReturnWriter.cs
- TaskDesigner.cs
- DataComponentNameHandler.cs
- ToolStripRenderer.cs
- RIPEMD160.cs
- EmptyQuery.cs
- NumericUpDownAccelerationCollection.cs
- Int16.cs
- EntitySqlQueryBuilder.cs
- MainMenu.cs
- CultureTable.cs
- XmlSchemaAttributeGroup.cs
- UpdatableWrapper.cs
- Span.cs
- URI.cs
- RectAnimationBase.cs
- ProfileServiceManager.cs
- MissingFieldException.cs
- ConnectionStringEditor.cs
- SystemUnicastIPAddressInformation.cs
- TextMessageEncoder.cs
- XmlExtensionFunction.cs
- XmlConvert.cs
- COM2PictureConverter.cs
- MetadataArtifactLoaderCompositeFile.cs
- RangeEnumerable.cs
- SqlDeflator.cs
- GeneratedView.cs
- PrinterUnitConvert.cs
- ObjectDataProvider.cs
- X509Certificate2.cs
- XmlLoader.cs
- ComponentCollection.cs
- DropAnimation.xaml.cs
- BookmarkEventArgs.cs
- PrincipalPermission.cs
- XmlAttributeProperties.cs
- ADMembershipProvider.cs
- TypedServiceChannelBuilder.cs
- SignatureConfirmationElement.cs
- MethodCallTranslator.cs
- Vector3dCollection.cs
- FixedElement.cs
- ForwardPositionQuery.cs
- IdentityNotMappedException.cs
- CodeSubDirectoriesCollection.cs
- DataGridViewCellFormattingEventArgs.cs
- DateTimeParse.cs
- DataGridHelper.cs
- MappingException.cs
- SafeSecurityHelper.cs
- MsmqIntegrationMessagePool.cs
- AsymmetricAlgorithm.cs
- HtmlTitle.cs
- GraphicsContainer.cs
- RemotingSurrogateSelector.cs
- XmlSchemaSimpleContent.cs
- OutputScopeManager.cs
- TableRowGroup.cs
- XmlSchemaSimpleContent.cs
- ConfigViewGenerator.cs
- AddInControllerImpl.cs
- DesignerTextViewAdapter.cs
- SafeArrayRankMismatchException.cs
- InvalidCardException.cs
- ReadOnlyAttribute.cs
- DetailsViewUpdatedEventArgs.cs
- UpdateTracker.cs
- ConnectionStringsExpressionBuilder.cs
- XamlSerializationHelper.cs
- ColorConvertedBitmapExtension.cs
- SpellerInterop.cs
- HttpCookieCollection.cs
- SemanticResultValue.cs
- ApplicationException.cs
- EntityDataSourceConfigureObjectContextPanel.cs