Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / System.Runtime.DurableInstancing / System / Runtime / Collections / ValidatingCollection.cs / 1305376 / ValidatingCollection.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Runtime.Collections { using System.Collections.ObjectModel; // simple helper class to allow passing in a func that performs validations of // acceptible values class ValidatingCollection: Collection { public ValidatingCollection() { } public Action OnAddValidationCallback { get; set; } public Action OnMutateValidationCallback { get; set; } void OnAdd(T item) { if (OnAddValidationCallback != null) { OnAddValidationCallback(item); } } void OnMutate() { if (OnMutateValidationCallback != null) { OnMutateValidationCallback(); } } protected override void ClearItems() { OnMutate(); base.ClearItems(); } protected override void InsertItem(int index, T item) { OnAdd(item); base.InsertItem(index, item); } protected override void RemoveItem(int index) { OnMutate(); base.RemoveItem(index); } protected override void SetItem(int index, T item) { OnAdd(item); OnMutate(); base.SetItem(index, item); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Runtime.Collections { using System.Collections.ObjectModel; // simple helper class to allow passing in a func that performs validations of // acceptible values class ValidatingCollection : Collection { public ValidatingCollection() { } public Action OnAddValidationCallback { get; set; } public Action OnMutateValidationCallback { get; set; } void OnAdd(T item) { if (OnAddValidationCallback != null) { OnAddValidationCallback(item); } } void OnMutate() { if (OnMutateValidationCallback != null) { OnMutateValidationCallback(); } } protected override void ClearItems() { OnMutate(); base.ClearItems(); } protected override void InsertItem(int index, T item) { OnAdd(item); base.InsertItem(index, item); } protected override void RemoveItem(int index) { OnMutate(); base.RemoveItem(index); } protected override void SetItem(int index, T item) { OnAdd(item); OnMutate(); base.SetItem(index, item); } } } // 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
- MdiWindowListStrip.cs
- WMICapabilities.cs
- DateRangeEvent.cs
- HtmlTableCell.cs
- BindValidator.cs
- ObfuscateAssemblyAttribute.cs
- CreateUserWizard.cs
- JsonClassDataContract.cs
- EventLogPermissionHolder.cs
- BigInt.cs
- EventHandlerList.cs
- SafeThreadHandle.cs
- ExtenderProvidedPropertyAttribute.cs
- BitmapCodecInfoInternal.cs
- OdbcError.cs
- SafeRightsManagementHandle.cs
- CacheDependency.cs
- PersonalizationAdministration.cs
- Timer.cs
- CachedCompositeFamily.cs
- OutgoingWebRequestContext.cs
- StateMachineSubscription.cs
- DefaultAsyncDataDispatcher.cs
- Image.cs
- TranslateTransform3D.cs
- SqlExpander.cs
- SafeRightsManagementPubHandle.cs
- GridSplitter.cs
- LazyTextWriterCreator.cs
- RemoteWebConfigurationHostServer.cs
- __TransparentProxy.cs
- ValidationErrorCollection.cs
- MeasureItemEvent.cs
- SupportsPreviewControlAttribute.cs
- TextServicesLoader.cs
- BuildResultCache.cs
- MDIWindowDialog.cs
- Trace.cs
- FixedTextContainer.cs
- WeakHashtable.cs
- MessageQueuePermissionEntryCollection.cs
- AppDomain.cs
- SymLanguageVendor.cs
- SolidColorBrush.cs
- DataGridViewToolTip.cs
- CatalogZoneBase.cs
- ForEachAction.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- WindowsToolbarAsMenu.cs
- WaitHandle.cs
- ImageField.cs
- DataColumnMappingCollection.cs
- SmtpSection.cs
- HttpRequestWrapper.cs
- BasicHttpSecurity.cs
- StringBlob.cs
- EventWaitHandle.cs
- WsatServiceCertificate.cs
- indexingfiltermarshaler.cs
- filewebrequest.cs
- DbModificationClause.cs
- RegexFCD.cs
- TypeDescriptionProviderAttribute.cs
- GraphicsContext.cs
- BinaryNode.cs
- DefaultAuthorizationContext.cs
- OpCopier.cs
- ReadOnlyDictionary.cs
- ErrorTableItemStyle.cs
- InternalMappingException.cs
- UdpReplyToBehavior.cs
- UnsafeNativeMethods.cs
- DataGridGeneralPage.cs
- ImageDrawing.cs
- MouseActionConverter.cs
- XPathExpr.cs
- MediaTimeline.cs
- RemoteCryptoTokenProvider.cs
- StaticFileHandler.cs
- ProofTokenCryptoHandle.cs
- XamlParser.cs
- XmlResolver.cs
- LowerCaseStringConverter.cs
- CodePageEncoding.cs
- SortQueryOperator.cs
- SeverityFilter.cs
- Slider.cs
- ProfileGroupSettingsCollection.cs
- EventHandlerList.cs
- EngineSite.cs
- PackagingUtilities.cs
- ExceptQueryOperator.cs
- EndEvent.cs
- BitmapEffectDrawing.cs
- ControlAdapter.cs
- OutOfProcStateClientManager.cs
- LayoutTableCell.cs
- XsltQilFactory.cs
- SqlNode.cs
- Point3DAnimationBase.cs