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
- Adorner.cs
- HtmlMeta.cs
- ToolStripArrowRenderEventArgs.cs
- ByteStreamMessageEncoder.cs
- Timer.cs
- PasswordRecoveryDesigner.cs
- MbpInfo.cs
- RubberbandSelector.cs
- ListBindingConverter.cs
- SafeSecurityHelper.cs
- WindowsTreeView.cs
- SoapSchemaMember.cs
- TextProviderWrapper.cs
- ObfuscateAssemblyAttribute.cs
- Misc.cs
- HtmlLink.cs
- Parameter.cs
- FileDataSourceCache.cs
- DefaultObjectMappingItemCollection.cs
- bidPrivateBase.cs
- CryptoKeySecurity.cs
- TableRow.cs
- MessagePartDescriptionCollection.cs
- ViewSimplifier.cs
- OdbcError.cs
- xml.cs
- XhtmlBasicPhoneCallAdapter.cs
- KnownTypeDataContractResolver.cs
- HtmlInputText.cs
- FrameAutomationPeer.cs
- QualificationDataAttribute.cs
- XmlRawWriter.cs
- HttpSessionStateWrapper.cs
- ToolStripDesignerUtils.cs
- AppDomainFactory.cs
- StringResourceManager.cs
- FunctionNode.cs
- OrderPreservingMergeHelper.cs
- ObjectDataSourceView.cs
- MulticastDelegate.cs
- TypedLocationWrapper.cs
- DataGridViewImageColumn.cs
- DbConnectionPoolGroupProviderInfo.cs
- HttpModulesSection.cs
- BamlBinaryReader.cs
- OutputCacheModule.cs
- Stylus.cs
- SerializationHelper.cs
- EncoderBestFitFallback.cs
- StoreContentChangedEventArgs.cs
- WindowInteropHelper.cs
- XmlSchemaExporter.cs
- TextDecorationCollection.cs
- RevocationPoint.cs
- IntellisenseTextBox.designer.cs
- WorkflowRuntimeService.cs
- SystemSounds.cs
- KeysConverter.cs
- StringConverter.cs
- PersianCalendar.cs
- LostFocusEventManager.cs
- CompilerScope.cs
- InfoCardKeyedHashAlgorithm.cs
- OleAutBinder.cs
- XmlWrappingReader.cs
- RuntimeVariablesExpression.cs
- ErrorEventArgs.cs
- HtmlTable.cs
- FilteredSchemaElementLookUpTable.cs
- _NativeSSPI.cs
- WebPartAuthorizationEventArgs.cs
- List.cs
- DbReferenceCollection.cs
- DataKeyCollection.cs
- counter.cs
- CompilerWrapper.cs
- PerspectiveCamera.cs
- AttributeTableBuilder.cs
- MaskedTextBox.cs
- XamlHttpHandlerFactory.cs
- CultureTableRecord.cs
- DBDataPermissionAttribute.cs
- WindowsContainer.cs
- BamlStream.cs
- MimeMapping.cs
- XmlReflectionMember.cs
- XmlSchemaChoice.cs
- ActiveXHost.cs
- FixedSOMTableRow.cs
- EdmFunctionAttribute.cs
- FrameDimension.cs
- DataBindingExpressionBuilder.cs
- InfocardClientCredentials.cs
- ExpanderAutomationPeer.cs
- MemoryMappedViewStream.cs
- ListDictionary.cs
- HighlightVisual.cs
- ItemList.cs
- XmlSchemaDatatype.cs
- ProtocolReflector.cs