Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / Base / Core / PropertyEditing / PropertyFilter.cs / 1305376 / PropertyFilter.cs
namespace System.Activities.Presentation.PropertyEditing { using System; using System.Collections.Generic; using System.Runtime; using System.Activities.Presentation; ////// This class is used as part of the searching/filtering functionality that may provided /// by the property editing host. It contains a list of predicates (i.e. strings to match against) /// [Fx.Tag.XamlVisible(false)] public class PropertyFilter { private List_predicates = new List (); /// /// Creates a PropertyFilter. /// /// String representation of predicates, space delimited public PropertyFilter(string filterText) { SetPredicates(filterText); } ////// Creates a PropertyFilter. /// /// IEnumerable collection of predicates public PropertyFilter(IEnumerablepredicates) { SetPredicates(predicates); } /// /// Readonly property that returns true if this PropertyFilter does not have any predicates /// public bool IsEmpty { get { return this._predicates == null || this._predicates.Count == 0; } } private void SetPredicates(string filterText) { if (string.IsNullOrEmpty(filterText)) return; string[] filterParts = filterText.Split(' '); for (int i=0; i < filterParts.Length; i++) { if (!string.IsNullOrEmpty(filterParts[i])) { _predicates.Add(new PropertyFilterPredicate(filterParts[i])); } } } private void SetPredicates(IEnumerablepredicates) { if (predicates == null) return; foreach (PropertyFilterPredicate predicate in predicates) { if (predicate != null) { _predicates.Add(predicate); } } } /// /// Matches this filter against a particular filter target. The /// filter returns true if there are no predicates or if one or more /// predicates match the filter target. /// /// Target to attempt matching ///True if there are no predicates or if one or more /// predicates match the filter target, false otherwise ///If target is null. public bool Match(IPropertyFilterTarget target) { if (target == null) throw FxTrace.Exception.ArgumentNull("target"); if (this.IsEmpty) return true; // Perform an OR over all predicates for (int i = 0; i < this._predicates.Count; i++) { if (target.MatchesPredicate(_predicates[i])) return true; } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Activities.Presentation.PropertyEditing { using System; using System.Collections.Generic; using System.Runtime; using System.Activities.Presentation; ////// This class is used as part of the searching/filtering functionality that may provided /// by the property editing host. It contains a list of predicates (i.e. strings to match against) /// [Fx.Tag.XamlVisible(false)] public class PropertyFilter { private List_predicates = new List (); /// /// Creates a PropertyFilter. /// /// String representation of predicates, space delimited public PropertyFilter(string filterText) { SetPredicates(filterText); } ////// Creates a PropertyFilter. /// /// IEnumerable collection of predicates public PropertyFilter(IEnumerablepredicates) { SetPredicates(predicates); } /// /// Readonly property that returns true if this PropertyFilter does not have any predicates /// public bool IsEmpty { get { return this._predicates == null || this._predicates.Count == 0; } } private void SetPredicates(string filterText) { if (string.IsNullOrEmpty(filterText)) return; string[] filterParts = filterText.Split(' '); for (int i=0; i < filterParts.Length; i++) { if (!string.IsNullOrEmpty(filterParts[i])) { _predicates.Add(new PropertyFilterPredicate(filterParts[i])); } } } private void SetPredicates(IEnumerablepredicates) { if (predicates == null) return; foreach (PropertyFilterPredicate predicate in predicates) { if (predicate != null) { _predicates.Add(predicate); } } } /// /// Matches this filter against a particular filter target. The /// filter returns true if there are no predicates or if one or more /// predicates match the filter target. /// /// Target to attempt matching ///True if there are no predicates or if one or more /// predicates match the filter target, false otherwise ///If target is null. public bool Match(IPropertyFilterTarget target) { if (target == null) throw FxTrace.Exception.ArgumentNull("target"); if (this.IsEmpty) return true; // Perform an OR over all predicates for (int i = 0; i < this._predicates.Count; i++) { if (target.MatchesPredicate(_predicates[i])) return true; } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- QueryAccessibilityHelpEvent.cs
- TreeNode.cs
- DataGridViewTextBoxEditingControl.cs
- UIElementParaClient.cs
- TokenizerHelper.cs
- COM2FontConverter.cs
- LinqDataSourceInsertEventArgs.cs
- NameValuePermission.cs
- ClientSettings.cs
- HttpRuntimeSection.cs
- DiagnosticsConfiguration.cs
- FixedPage.cs
- WebZone.cs
- Decoder.cs
- SeekStoryboard.cs
- ExtendedPropertyInfo.cs
- DocumentViewerHelper.cs
- HostVisual.cs
- Char.cs
- DuplicateWaitObjectException.cs
- HandoffBehavior.cs
- EntityException.cs
- CodeMethodMap.cs
- LinkUtilities.cs
- FieldMetadata.cs
- ScriptingProfileServiceSection.cs
- Pen.cs
- RegistrySecurity.cs
- GreenMethods.cs
- XmlSchemaSimpleContent.cs
- ToolStripScrollButton.cs
- RequestCachingSection.cs
- GuidelineSet.cs
- wgx_render.cs
- TemplateControlBuildProvider.cs
- SqlDataSourceCustomCommandEditor.cs
- ToolboxItem.cs
- ServerType.cs
- DrawingContextDrawingContextWalker.cs
- EntityClassGenerator.cs
- ToolboxItemCollection.cs
- ManipulationCompletedEventArgs.cs
- ObjectTag.cs
- BezierSegment.cs
- ServiceCredentialsSecurityTokenManager.cs
- invalidudtexception.cs
- SafePointer.cs
- WorkflowServiceBuildProvider.cs
- DataRowCollection.cs
- DataGridViewRowPostPaintEventArgs.cs
- NewExpression.cs
- PixelFormatConverter.cs
- COAUTHINFO.cs
- Logging.cs
- PrintDialogDesigner.cs
- BamlReader.cs
- documentsequencetextpointer.cs
- BindingExpression.cs
- PrivateFontCollection.cs
- TrackPoint.cs
- TableLayoutSettings.cs
- JsonFormatMapping.cs
- TableRowCollection.cs
- ConfigurationErrorsException.cs
- ByteAnimationUsingKeyFrames.cs
- COSERVERINFO.cs
- SymDocumentType.cs
- PieceNameHelper.cs
- StackSpiller.Temps.cs
- XmlAttributeCache.cs
- HtmlInputText.cs
- ResourceAttributes.cs
- GridViewRowEventArgs.cs
- PropertyTab.cs
- DataStreams.cs
- FileDialogCustomPlaces.cs
- DetectEofStream.cs
- SmtpException.cs
- ThreadInterruptedException.cs
- BackgroundFormatInfo.cs
- AbstractSvcMapFileLoader.cs
- LayoutEvent.cs
- TaskHelper.cs
- _HeaderInfo.cs
- Events.cs
- __Filters.cs
- PropertyItem.cs
- EncodingConverter.cs
- SQLChars.cs
- LayoutUtils.cs
- ProfileInfo.cs
- EncryptedHeaderXml.cs
- InputReport.cs
- TransactionScope.cs
- WCFBuildProvider.cs
- DataGridLength.cs
- RotateTransform3D.cs
- DigestTraceRecordHelper.cs
- LineBreakRecord.cs
- OpCopier.cs