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
- DecimalAnimationBase.cs
- Permission.cs
- MessageRpc.cs
- mediaeventshelper.cs
- RecordConverter.cs
- ObjectDataSourceStatusEventArgs.cs
- Canvas.cs
- DataGrid.cs
- EncoderExceptionFallback.cs
- HwndHostAutomationPeer.cs
- TypeDependencyAttribute.cs
- HtmlMeta.cs
- SqlReorderer.cs
- Converter.cs
- ToolStripItemRenderEventArgs.cs
- COAUTHINFO.cs
- DataService.cs
- RTTypeWrapper.cs
- TreeViewHitTestInfo.cs
- ObjectHandle.cs
- CellIdBoolean.cs
- COM2IDispatchConverter.cs
- NotSupportedException.cs
- ObjectStateManagerMetadata.cs
- CodeAttributeDeclarationCollection.cs
- FilterQuery.cs
- XmlEntity.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- DataBoundControl.cs
- AppSettingsSection.cs
- ContourSegment.cs
- MimeMapping.cs
- UserPreferenceChangingEventArgs.cs
- FormattedText.cs
- DecimalSumAggregationOperator.cs
- XPathNavigatorException.cs
- ConnectionManagementSection.cs
- InstanceKeyCollisionException.cs
- Transform.cs
- XmlQuerySequence.cs
- PageFunction.cs
- ConfigurationManagerHelper.cs
- DBSqlParser.cs
- HandleExceptionArgs.cs
- VisualStyleRenderer.cs
- RegexStringValidator.cs
- StreamWithDictionary.cs
- OverflowException.cs
- SelectionItemProviderWrapper.cs
- InstancePersistenceEvent.cs
- ChannelFactoryRefCache.cs
- DataGridDetailsPresenterAutomationPeer.cs
- ToolStripMenuItem.cs
- ThreadStateException.cs
- MSAAEventDispatcher.cs
- StyleSelector.cs
- Hashtable.cs
- ClientConfigPaths.cs
- ActivityScheduledRecord.cs
- PointValueSerializer.cs
- URLIdentityPermission.cs
- AsyncOperationManager.cs
- NamespaceImport.cs
- ReadOnlyMetadataCollection.cs
- WS2007FederationHttpBindingCollectionElement.cs
- SessionSwitchEventArgs.cs
- ProviderUtil.cs
- MailAddressCollection.cs
- HtmlTableRow.cs
- ProgressChangedEventArgs.cs
- AttributeConverter.cs
- CommonDialog.cs
- Assembly.cs
- OutputCacheProfileCollection.cs
- XsdDuration.cs
- ContractMethodInfo.cs
- OptionalMessageQuery.cs
- WebPartConnectionsCancelVerb.cs
- ContainerControlDesigner.cs
- ValidationSummary.cs
- _LocalDataStoreMgr.cs
- ColorConvertedBitmapExtension.cs
- DefaultAutoFieldGenerator.cs
- DecimalStorage.cs
- Config.cs
- MarkupCompilePass2.cs
- TypeUtil.cs
- UrlMappingsSection.cs
- FixedTextContainer.cs
- RequestCachingSection.cs
- SplitContainerDesigner.cs
- OledbConnectionStringbuilder.cs
- SecurityIdentifierElementCollection.cs
- SqlCharStream.cs
- AstTree.cs
- XmlSchemaGroupRef.cs
- SqlDataSourceSelectingEventArgs.cs
- LoopExpression.cs
- AutoGeneratedFieldProperties.cs
- PassportAuthentication.cs