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
- ConsoleCancelEventArgs.cs
- NativeMethods.cs
- BitStack.cs
- DataListItemEventArgs.cs
- ModifierKeysConverter.cs
- BaseUriHelper.cs
- ReadOnlyAttribute.cs
- CommonProperties.cs
- Win32MouseDevice.cs
- FamilyMap.cs
- RequiredFieldValidator.cs
- PersonalizationState.cs
- EnvelopedPkcs7.cs
- MemberExpression.cs
- DataService.cs
- HtmlControl.cs
- DateTime.cs
- NativeMethods.cs
- DataGridViewColumnConverter.cs
- WindowInteropHelper.cs
- _CookieModule.cs
- ListItem.cs
- PackageRelationshipSelector.cs
- MonthCalendar.cs
- dataprotectionpermission.cs
- sqlnorm.cs
- SymmetricKey.cs
- mda.cs
- System.Data_BID.cs
- BuildProvider.cs
- DisposableCollectionWrapper.cs
- SQLByteStorage.cs
- XmlSchemaSimpleTypeList.cs
- COM2PictureConverter.cs
- HtmlHistory.cs
- OptionalMessageQuery.cs
- DiscriminatorMap.cs
- PermissionAttributes.cs
- TransformerInfoCollection.cs
- HttpAsyncResult.cs
- EntityDataSourceDataSelection.cs
- SeekableReadStream.cs
- MsmqOutputMessage.cs
- PropertyTabChangedEvent.cs
- PolicyLevel.cs
- PropertyGeneratedEventArgs.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- WebProxyScriptElement.cs
- CompilerResults.cs
- GlyphRunDrawing.cs
- SetterBase.cs
- ZeroOpNode.cs
- CodeTypeConstructor.cs
- HijriCalendar.cs
- EnumerableRowCollectionExtensions.cs
- ILGenerator.cs
- BuildResult.cs
- NGCSerializerAsync.cs
- StyleBamlTreeBuilder.cs
- ParseElement.cs
- ImagingCache.cs
- ReplyChannelAcceptor.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- SqlCommandSet.cs
- Vector3DKeyFrameCollection.cs
- CompiledRegexRunnerFactory.cs
- AppLevelCompilationSectionCache.cs
- OrderByBuilder.cs
- WriteableBitmap.cs
- CompilerErrorCollection.cs
- UserMapPath.cs
- CheckBoxList.cs
- DataSourceHelper.cs
- EditingCommands.cs
- Property.cs
- _NestedMultipleAsyncResult.cs
- PathSegmentCollection.cs
- IncrementalReadDecoders.cs
- Rect3D.cs
- FragmentNavigationEventArgs.cs
- ping.cs
- CalendarAutoFormatDialog.cs
- EmptyTextWriter.cs
- ToolStripDropTargetManager.cs
- DSACryptoServiceProvider.cs
- BulletDecorator.cs
- SetUserLanguageRequest.cs
- DesignerCapabilities.cs
- AttachedAnnotationChangedEventArgs.cs
- StateMachine.cs
- WebServiceData.cs
- FrugalMap.cs
- SslStreamSecurityUpgradeProvider.cs
- CheckoutException.cs
- InputReferenceExpression.cs
- XmlBoundElement.cs
- RunWorkerCompletedEventArgs.cs
- XamlTreeBuilder.cs
- SafeHandles.cs
- BaseAsyncResult.cs