Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ //// 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
- WindowsTooltip.cs
- ConvertTextFrag.cs
- HeaderUtility.cs
- ProfileElement.cs
- ConnectionPoint.cs
- _UriSyntax.cs
- ClockGroup.cs
- ComponentCommands.cs
- EmptyStringExpandableObjectConverter.cs
- RelationshipConstraintValidator.cs
- NegotiateStream.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- login.cs
- AccessDataSourceDesigner.cs
- AuthorizationRuleCollection.cs
- FormViewCommandEventArgs.cs
- EdmFunction.cs
- GeometryGroup.cs
- ContentDesigner.cs
- StylusEditingBehavior.cs
- ToolBarButtonClickEvent.cs
- ProtectedConfiguration.cs
- XomlCompilerHelpers.cs
- HtmlControl.cs
- ConfigurationLocationCollection.cs
- ResourcesBuildProvider.cs
- DataGridHyperlinkColumn.cs
- XPathAncestorIterator.cs
- SoapObjectInfo.cs
- PeerTransportBindingElement.cs
- EncodingInfo.cs
- Confirm.cs
- Conditional.cs
- Rijndael.cs
- AnimationClockResource.cs
- DuplicateWaitObjectException.cs
- CommandField.cs
- TreeIterator.cs
- PropertyIDSet.cs
- ADMembershipProvider.cs
- ProviderUtil.cs
- MediaElementAutomationPeer.cs
- DoubleAnimationUsingPath.cs
- VisualBrush.cs
- Point3DCollection.cs
- LayoutManager.cs
- CodeDomDecompiler.cs
- BoundField.cs
- WriteFileContext.cs
- SqlDataAdapter.cs
- NativeMethodsOther.cs
- MenuBase.cs
- SourceFileInfo.cs
- FloaterParagraph.cs
- AppDomainManager.cs
- X509UI.cs
- LocalValueEnumerator.cs
- MenuItemAutomationPeer.cs
- HandlerBase.cs
- OleDbDataAdapter.cs
- PropertyInfoSet.cs
- NeutralResourcesLanguageAttribute.cs
- OdbcError.cs
- XmlNamespaceManager.cs
- assertwrapper.cs
- OdbcConnectionPoolProviderInfo.cs
- SortedDictionary.cs
- CustomValidator.cs
- DataServiceQuery.cs
- BmpBitmapEncoder.cs
- GenericArgumentsUpdater.cs
- PerformanceCounter.cs
- MouseEvent.cs
- FileLogRecordHeader.cs
- ServiceNotStartedException.cs
- JavaScriptObjectDeserializer.cs
- BindingNavigatorDesigner.cs
- HMACRIPEMD160.cs
- RegexInterpreter.cs
- QuadraticEase.cs
- __FastResourceComparer.cs
- CharEntityEncoderFallback.cs
- MouseGestureValueSerializer.cs
- FixedTextView.cs
- HttpClientCertificate.cs
- SiteOfOriginContainer.cs
- WindowsNonControl.cs
- ManagementObjectCollection.cs
- FrameworkContextData.cs
- SqlDependencyUtils.cs
- InstanceKeyView.cs
- Label.cs
- File.cs
- ScriptHandlerFactory.cs
- RegexMatchCollection.cs
- ToolStripDropDownItem.cs
- DataGridItemCollection.cs
- GlobalizationSection.cs
- DataDocumentXPathNavigator.cs
- HyperLink.cs