Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PersonalizationAdministration.cs
- DataGridViewSelectedRowCollection.cs
- BaseUriHelper.cs
- DbMetaDataCollectionNames.cs
- FlowchartDesigner.Helpers.cs
- BuildDependencySet.cs
- StyleXamlTreeBuilder.cs
- MemoryFailPoint.cs
- base64Transforms.cs
- SHA384.cs
- prefixendpointaddressmessagefilter.cs
- securestring.cs
- HelpHtmlBuilder.cs
- XmlCharType.cs
- MbpInfo.cs
- TextProperties.cs
- DataProtection.cs
- basecomparevalidator.cs
- DbConnectionOptions.cs
- CodeArrayCreateExpression.cs
- KeyValuePair.cs
- SQLGuidStorage.cs
- XsdValidatingReader.cs
- ClosureBinding.cs
- PageStatePersister.cs
- BlobPersonalizationState.cs
- GeometryGroup.cs
- ItemCollection.cs
- JoinTreeSlot.cs
- EvidenceTypeDescriptor.cs
- ResourceDescriptionAttribute.cs
- Point3DAnimationUsingKeyFrames.cs
- SqlServer2KCompatibilityAnnotation.cs
- Tokenizer.cs
- TraceHwndHost.cs
- List.cs
- ProfileService.cs
- StrokeNodeEnumerator.cs
- MergeLocalizationDirectives.cs
- CannotUnloadAppDomainException.cs
- EventRecord.cs
- FrameworkTemplate.cs
- IHttpResponseInternal.cs
- TextCompositionEventArgs.cs
- CodeCommentStatementCollection.cs
- FileSystemInfo.cs
- ResolveMatches11.cs
- SingleTagSectionHandler.cs
- HtmlAnchor.cs
- ComNativeDescriptor.cs
- CollectionContainer.cs
- TraceSection.cs
- CodePrimitiveExpression.cs
- DesignerActionVerbList.cs
- SAPICategories.cs
- DeclaredTypeElement.cs
- TableCellCollection.cs
- TabControlAutomationPeer.cs
- X509Certificate2Collection.cs
- RegexCompilationInfo.cs
- InlinedAggregationOperatorEnumerator.cs
- cache.cs
- XmlQueryType.cs
- ClientScriptManager.cs
- TempFiles.cs
- MonitorWrapper.cs
- WebRequestModulesSection.cs
- DbConnectionPoolGroup.cs
- ImportCatalogPart.cs
- BamlTreeMap.cs
- ServiceCredentialsSecurityTokenManager.cs
- ExponentialEase.cs
- TextProperties.cs
- SqlStatistics.cs
- TemplateControl.cs
- IdleTimeoutMonitor.cs
- ReadOnlyTernaryTree.cs
- RoleService.cs
- HttpApplication.cs
- DataFormats.cs
- sqlser.cs
- EntityReference.cs
- selecteditemcollection.cs
- ObjectSpanRewriter.cs
- ScriptControlManager.cs
- OutputCacheProfile.cs
- EntityContainerEmitter.cs
- WebSysDisplayNameAttribute.cs
- WinEventHandler.cs
- NumericPagerField.cs
- ItemsPresenter.cs
- ActivityTypeDesigner.xaml.cs
- CannotUnloadAppDomainException.cs
- GenericTypeParameterBuilder.cs
- IPAddressCollection.cs
- ZipIOExtraFieldZip64Element.cs
- CompiledXpathExpr.cs
- FrameworkContentElement.cs
- DesignerOptionService.cs
- SymbolUsageManager.cs