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
- _NativeSSPI.cs
- GridViewPageEventArgs.cs
- ConfigurationPropertyCollection.cs
- ZipIOLocalFileDataDescriptor.cs
- MouseEvent.cs
- SymbolDocumentGenerator.cs
- StateInitialization.cs
- CapabilitiesRule.cs
- AstNode.cs
- ChangeNode.cs
- StyleTypedPropertyAttribute.cs
- MarkupCompiler.cs
- Baml2006KnownTypes.cs
- _OverlappedAsyncResult.cs
- ConnectionStringsExpressionBuilder.cs
- SelectionList.cs
- SimpleTextLine.cs
- CellQuery.cs
- ComAdminInterfaces.cs
- QilTargetType.cs
- TemplateControl.cs
- RectangleF.cs
- TransformerTypeCollection.cs
- DeferredRunTextReference.cs
- SafeTimerHandle.cs
- XmlDigitalSignatureProcessor.cs
- MarshalDirectiveException.cs
- HttpCapabilitiesBase.cs
- Converter.cs
- PasswordTextNavigator.cs
- EncryptedXml.cs
- InfoCardArgumentException.cs
- DataSourceControl.cs
- OleDragDropHandler.cs
- WindowsListView.cs
- FilterableAttribute.cs
- BuildManagerHost.cs
- Registry.cs
- DSACryptoServiceProvider.cs
- ActivityPreviewDesigner.cs
- SHA256Managed.cs
- SmtpDigestAuthenticationModule.cs
- CreateParams.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- RuntimeEnvironment.cs
- TextAnchor.cs
- DynamicQueryStringParameter.cs
- InkSerializer.cs
- BindingNavigator.cs
- Automation.cs
- WindowsPrincipal.cs
- IssuedTokenClientCredential.cs
- XPathAncestorIterator.cs
- RegexStringValidatorAttribute.cs
- CodeSnippetTypeMember.cs
- SecurityElement.cs
- TypedElement.cs
- WizardPanelChangingEventArgs.cs
- UnsafeNativeMethods.cs
- MdImport.cs
- DataBoundControl.cs
- DSASignatureFormatter.cs
- Literal.cs
- XmlSchemaElement.cs
- NamedPermissionSet.cs
- EntityDataSourceChangingEventArgs.cs
- Properties.cs
- UInt64Storage.cs
- BaseCollection.cs
- TablePatternIdentifiers.cs
- PerspectiveCamera.cs
- SessionSymmetricTransportSecurityProtocolFactory.cs
- EndpointDiscoveryElement.cs
- ApplicationInfo.cs
- HelpInfo.cs
- UnsafeNativeMethods.cs
- SimpleExpression.cs
- SSmlParser.cs
- TreeNodeClickEventArgs.cs
- TextRangeProviderWrapper.cs
- PageClientProxyGenerator.cs
- PersistenceTypeAttribute.cs
- CalendarButton.cs
- WeakEventTable.cs
- LayoutEngine.cs
- AnnotationResource.cs
- BitmapEffectInputData.cs
- EmissiveMaterial.cs
- ServiceDebugElement.cs
- ValidationRuleCollection.cs
- DropDownList.cs
- TextElement.cs
- EditingMode.cs
- GenericFlowSwitchHelper.cs
- SelectionProcessor.cs
- ArraySubsetEnumerator.cs
- ContentDisposition.cs
- MessageQueueTransaction.cs
- Base64Decoder.cs
- ResolvedKeyFrameEntry.cs