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
- DrawTreeNodeEventArgs.cs
- SecureStringHasher.cs
- DbException.cs
- AttributeEmitter.cs
- IconConverter.cs
- PrintDocument.cs
- CodeIterationStatement.cs
- ToolStripDropDownDesigner.cs
- XmlSchemaComplexType.cs
- ObjectList.cs
- DisplayInformation.cs
- WorkflowOperationAsyncResult.cs
- ConfigXmlSignificantWhitespace.cs
- HttpProxyTransportBindingElement.cs
- XmlSortKey.cs
- RulePatternOps.cs
- LinkArea.cs
- ElementUtil.cs
- SspiNegotiationTokenAuthenticatorState.cs
- WebPartConnectionsConnectVerb.cs
- RepeatInfo.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- Brush.cs
- GridViewColumnCollectionChangedEventArgs.cs
- ApplicationDirectoryMembershipCondition.cs
- TextEditorDragDrop.cs
- NetStream.cs
- HostingPreferredMapPath.cs
- ManagementInstaller.cs
- precedingquery.cs
- SettingsBindableAttribute.cs
- ControlUtil.cs
- TagPrefixInfo.cs
- NavigatingCancelEventArgs.cs
- FixedSOMTableRow.cs
- Expression.cs
- SessionSwitchEventArgs.cs
- Directory.cs
- PointAnimationBase.cs
- ChangeNode.cs
- HttpDictionary.cs
- regiisutil.cs
- MergeFilterQuery.cs
- UnsafeNativeMethodsMilCoreApi.cs
- ScriptingRoleServiceSection.cs
- AssemblyBuilderData.cs
- ProxyGenerationError.cs
- PerfCounters.cs
- DataSourceViewSchemaConverter.cs
- GridSplitter.cs
- MetadataArtifactLoaderFile.cs
- InvalidOperationException.cs
- ArgIterator.cs
- SafeCoTaskMem.cs
- HandleCollector.cs
- NominalTypeEliminator.cs
- SizeLimitedCache.cs
- AttachedPropertiesService.cs
- ToolStripDesignerAvailabilityAttribute.cs
- SystemInfo.cs
- DrawingCollection.cs
- BaseUriHelper.cs
- TextSpan.cs
- SafeRegistryKey.cs
- StringKeyFrameCollection.cs
- TrackingWorkflowEventArgs.cs
- InternalCache.cs
- NetMsmqSecurity.cs
- ConstantSlot.cs
- CaseCqlBlock.cs
- XmlElementAttributes.cs
- SingleTagSectionHandler.cs
- MenuAdapter.cs
- UnicodeEncoding.cs
- XmlWriterDelegator.cs
- ExceptionValidationRule.cs
- WeakRefEnumerator.cs
- FormViewInsertEventArgs.cs
- ToggleButtonAutomationPeer.cs
- _BasicClient.cs
- followingsibling.cs
- CustomValidator.cs
- httpserverutility.cs
- COM2IManagedPerPropertyBrowsingHandler.cs
- MediaTimeline.cs
- WeakReferenceKey.cs
- XPathAncestorQuery.cs
- HttpCapabilitiesEvaluator.cs
- ResourcePool.cs
- PageContentCollection.cs
- WithStatement.cs
- InvariantComparer.cs
- PageBuildProvider.cs
- ByteStreamGeometryContext.cs
- SqlVersion.cs
- FileDataSourceCache.cs
- HyperlinkAutomationPeer.cs
- UnionCodeGroup.cs
- CodeAttachEventStatement.cs
- SqlNotificationRequest.cs