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
- HwndHostAutomationPeer.cs
- ReferencedType.cs
- XmlQueryContext.cs
- SessionState.cs
- EventDescriptorCollection.cs
- GlyphTypeface.cs
- BufferedGraphics.cs
- ChannelServices.cs
- EntityCommandExecutionException.cs
- TrueReadOnlyCollection.cs
- TdsRecordBufferSetter.cs
- FormView.cs
- X509CertificateInitiatorClientCredential.cs
- HeaderCollection.cs
- ObjectRef.cs
- FactoryId.cs
- ping.cs
- GlyphShapingProperties.cs
- ADConnectionHelper.cs
- GetChildSubtree.cs
- GeneralTransform3D.cs
- FontStretch.cs
- BitmapCodecInfoInternal.cs
- TableRowGroup.cs
- AtomMaterializer.cs
- SchemaSetCompiler.cs
- AppDomainAttributes.cs
- HtmlSelect.cs
- ComplusTypeValidator.cs
- WizardStepBase.cs
- ProjectedSlot.cs
- ApplicationBuildProvider.cs
- HtmlInputReset.cs
- MdbDataFileEditor.cs
- DockingAttribute.cs
- LocationUpdates.cs
- EdmFunctionAttribute.cs
- ChineseLunisolarCalendar.cs
- SQLConvert.cs
- RelationshipConstraintValidator.cs
- SubtreeProcessor.cs
- FileDialogCustomPlacesCollection.cs
- WebHeaderCollection.cs
- Setter.cs
- Propagator.Evaluator.cs
- invalidudtexception.cs
- AttributeCollection.cs
- SqlMultiplexer.cs
- SystemIPInterfaceProperties.cs
- StringExpressionSet.cs
- InputScopeManager.cs
- PrinterSettings.cs
- CodeNamespace.cs
- BrowserDefinitionCollection.cs
- TracePayload.cs
- cookie.cs
- ObjectManager.cs
- OpCodes.cs
- XmlSerializerFactory.cs
- _NestedSingleAsyncResult.cs
- SocketElement.cs
- AttributeSetAction.cs
- ImageBrush.cs
- StorageComplexPropertyMapping.cs
- CapabilitiesRule.cs
- entityreference_tresulttype.cs
- AutoGeneratedFieldProperties.cs
- httpstaticobjectscollection.cs
- Qualifier.cs
- SqlConnectionStringBuilder.cs
- Axis.cs
- FakeModelPropertyImpl.cs
- ObjectConverter.cs
- GraphicsState.cs
- OptimalBreakSession.cs
- Sequence.cs
- FileDialogPermission.cs
- SchemaNames.cs
- ClientSettings.cs
- ScriptReferenceEventArgs.cs
- ReadOnlyDataSourceView.cs
- VirtualizedItemProviderWrapper.cs
- DefaultEvaluationContext.cs
- Package.cs
- EventTask.cs
- ArrayList.cs
- SR.cs
- EndOfStreamException.cs
- TextTreeTextBlock.cs
- Operators.cs
- XmlValueConverter.cs
- InstanceKey.cs
- EndpointAddress10.cs
- DataSourceView.cs
- MethodResolver.cs
- TrustManager.cs
- HuffCodec.cs
- PageCanvasSize.cs
- FileCodeGroup.cs
- HttpCachePolicy.cs