Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebParts / WebPartTracker.cs / 1305376 / WebPartTracker.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls.WebParts { using System; using System.Collections; using System.ComponentModel; using System.Diagnostics; using System.Drawing.Design; using System.Web; using System.Web.UI; public sealed class WebPartTracker : IDisposable { private bool _disposed; private WebPart _webPart; private ProviderConnectionPoint _providerConnectionPoint; public WebPartTracker(WebPart webPart, ProviderConnectionPoint providerConnectionPoint) { if (webPart == null) { throw new ArgumentNullException("webPart"); } if (providerConnectionPoint == null) { throw new ArgumentNullException("providerConnectionPoint"); } if (providerConnectionPoint.ControlType != webPart.GetType()) { throw new ArgumentException(SR.GetString(SR.WebPartManager_InvalidConnectionPoint), "providerConnectionPoint"); } _webPart = webPart; _providerConnectionPoint = providerConnectionPoint; if (++Count > 1) { webPart.SetConnectErrorMessage(SR.GetString( SR.WebPartTracker_CircularConnection, _providerConnectionPoint.DisplayName)); } } public bool IsCircularConnection { get { return (Count > 1); } } private int Count { get { int count; _webPart.TrackerCounter.TryGetValue(_providerConnectionPoint, out count); return count; } set { _webPart.TrackerCounter[_providerConnectionPoint] = value; } } void IDisposable.Dispose() { if (!_disposed) { Debug.Assert(Count >= 1); Count--; _disposed = true; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls.WebParts { using System; using System.Collections; using System.ComponentModel; using System.Diagnostics; using System.Drawing.Design; using System.Web; using System.Web.UI; public sealed class WebPartTracker : IDisposable { private bool _disposed; private WebPart _webPart; private ProviderConnectionPoint _providerConnectionPoint; public WebPartTracker(WebPart webPart, ProviderConnectionPoint providerConnectionPoint) { if (webPart == null) { throw new ArgumentNullException("webPart"); } if (providerConnectionPoint == null) { throw new ArgumentNullException("providerConnectionPoint"); } if (providerConnectionPoint.ControlType != webPart.GetType()) { throw new ArgumentException(SR.GetString(SR.WebPartManager_InvalidConnectionPoint), "providerConnectionPoint"); } _webPart = webPart; _providerConnectionPoint = providerConnectionPoint; if (++Count > 1) { webPart.SetConnectErrorMessage(SR.GetString( SR.WebPartTracker_CircularConnection, _providerConnectionPoint.DisplayName)); } } public bool IsCircularConnection { get { return (Count > 1); } } private int Count { get { int count; _webPart.TrackerCounter.TryGetValue(_providerConnectionPoint, out count); return count; } set { _webPart.TrackerCounter[_providerConnectionPoint] = value; } } void IDisposable.Dispose() { if (!_disposed) { Debug.Assert(Count >= 1); Count--; _disposed = true; } } } } // 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
- GrammarBuilderDictation.cs
- AddValidationError.cs
- TextOptionsInternal.cs
- Trace.cs
- glyphs.cs
- DispatcherEventArgs.cs
- XPathCompileException.cs
- TrackingMemoryStreamFactory.cs
- ContractReference.cs
- ComplusTypeValidator.cs
- ToolStripItemClickedEventArgs.cs
- HwndStylusInputProvider.cs
- TextRange.cs
- basecomparevalidator.cs
- DataGridTextBox.cs
- DataGridItemCollection.cs
- PostBackTrigger.cs
- UnauthorizedWebPart.cs
- KoreanCalendar.cs
- StylusLogic.cs
- ToolStripDropDown.cs
- DataObjectSettingDataEventArgs.cs
- PreservationFileWriter.cs
- MailWebEventProvider.cs
- DataGridViewColumnHeaderCell.cs
- ScrollItemPattern.cs
- SessionStateUtil.cs
- MatrixCamera.cs
- Events.cs
- XsltSettings.cs
- FragmentNavigationEventArgs.cs
- XmlIlGenerator.cs
- JsonFormatGeneratorStatics.cs
- ResourceWriter.cs
- Types.cs
- ChameleonKey.cs
- DataGridViewRowCollection.cs
- GPRECT.cs
- EventHandlersStore.cs
- InstanceLockedException.cs
- XPathException.cs
- GridViewItemAutomationPeer.cs
- SecurityPermission.cs
- FrameworkPropertyMetadata.cs
- XmlSchemaCollection.cs
- MenuStrip.cs
- SQLGuid.cs
- FileChangesMonitor.cs
- PeerName.cs
- TextRange.cs
- URIFormatException.cs
- CodeTypeOfExpression.cs
- DataGridLength.cs
- FormViewCommandEventArgs.cs
- DeviceFiltersSection.cs
- EntityDataSourceContextDisposingEventArgs.cs
- ComplexTypeEmitter.cs
- ColumnPropertiesGroup.cs
- TextTreeRootNode.cs
- PropertyMapper.cs
- ClientSponsor.cs
- EditorZoneBase.cs
- ConfigurationManagerInternalFactory.cs
- QilFactory.cs
- ListViewItem.cs
- HiddenFieldPageStatePersister.cs
- DataObject.cs
- ExpressionHelper.cs
- FixUpCollection.cs
- UnmanagedMarshal.cs
- DrawListViewColumnHeaderEventArgs.cs
- RoleGroup.cs
- LinkTarget.cs
- DocumentPaginator.cs
- FixedSOMPageElement.cs
- AddIn.cs
- ByteStorage.cs
- XmlAttributeCollection.cs
- FixedSOMTableRow.cs
- Brushes.cs
- RelationshipEntry.cs
- JapaneseLunisolarCalendar.cs
- SmtpClient.cs
- TemplatedAdorner.cs
- BitConverter.cs
- XmlIncludeAttribute.cs
- LayoutDump.cs
- PolyBezierSegment.cs
- InternalConfigRoot.cs
- Fault.cs
- Module.cs
- CodeCastExpression.cs
- AsymmetricAlgorithm.cs
- LineGeometry.cs
- KeyGesture.cs
- Rectangle.cs
- CodeGenerator.cs
- PauseStoryboard.cs
- Int32RectValueSerializer.cs
- SessionStateContainer.cs