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
- MultiAsyncResult.cs
- HttpAsyncResult.cs
- LZCodec.cs
- PenThreadPool.cs
- XmlQueryRuntime.cs
- ComboBox.cs
- Types.cs
- PagesChangedEventArgs.cs
- TopClause.cs
- SystemResourceKey.cs
- CommonDialog.cs
- PtsCache.cs
- LocatorGroup.cs
- VerticalAlignConverter.cs
- formatter.cs
- BoundingRectTracker.cs
- MatrixConverter.cs
- RegexCompiler.cs
- OpenTypeLayout.cs
- Soap11ServerProtocol.cs
- TraceContextEventArgs.cs
- JsonByteArrayDataContract.cs
- OdbcHandle.cs
- TransactionScope.cs
- XmlSchemaRedefine.cs
- DataTableReader.cs
- StringUtil.cs
- StylusOverProperty.cs
- RegexMatchCollection.cs
- NgenServicingAttributes.cs
- JapaneseCalendar.cs
- DbParameterHelper.cs
- PathGeometry.cs
- ComAwareEventInfo.cs
- TextBoxBase.cs
- PseudoWebRequest.cs
- Console.cs
- DefaultSection.cs
- AnonymousIdentificationSection.cs
- DataTable.cs
- DesignerAutoFormat.cs
- ProxyOperationRuntime.cs
- Byte.cs
- MgmtConfigurationRecord.cs
- FtpRequestCacheValidator.cs
- GCHandleCookieTable.cs
- Variant.cs
- XmlDsigSep2000.cs
- SmtpNegotiateAuthenticationModule.cs
- SmiEventSink_Default.cs
- DataPagerCommandEventArgs.cs
- ExtractedStateEntry.cs
- DirtyTextRange.cs
- RoutedPropertyChangedEventArgs.cs
- CatalogZoneAutoFormat.cs
- MetafileHeaderWmf.cs
- ListenerPerfCounters.cs
- HostedTransportConfigurationManager.cs
- WebResourceAttribute.cs
- StreamResourceInfo.cs
- EventToken.cs
- Pkcs7Signer.cs
- ThaiBuddhistCalendar.cs
- PersistencePipeline.cs
- SessionIDManager.cs
- TraceInternal.cs
- TextPointerBase.cs
- BoundColumn.cs
- GeneralTransform3DTo2DTo3D.cs
- ProxyWebPartConnectionCollection.cs
- CalendarKeyboardHelper.cs
- TdsParameterSetter.cs
- CacheChildrenQuery.cs
- LinqDataSourceContextEventArgs.cs
- TraceSwitch.cs
- WebBrowserBase.cs
- _SingleItemRequestCache.cs
- CodeDirectoryCompiler.cs
- SmtpMail.cs
- FixedPosition.cs
- MarkupProperty.cs
- IncrementalReadDecoders.cs
- CommandField.cs
- LinqTreeNodeEvaluator.cs
- Application.cs
- DefaultPropertiesToSend.cs
- RegexFCD.cs
- DataGridViewComboBoxEditingControl.cs
- Visual3D.cs
- XmlAttributeProperties.cs
- ToolStripDropDownMenu.cs
- DataBoundControlAdapter.cs
- SectionVisual.cs
- BamlTreeMap.cs
- StorageComplexPropertyMapping.cs
- StrokeFIndices.cs
- BaseTreeIterator.cs
- PackageRelationship.cs
- OleDbRowUpdatedEvent.cs
- unsafenativemethodsother.cs