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
- SqlDuplicator.cs
- NullExtension.cs
- DecimalAnimationUsingKeyFrames.cs
- FontFamily.cs
- CodeTypeConstructor.cs
- IntegerFacetDescriptionElement.cs
- ListViewDataItem.cs
- UnsafeNativeMethods.cs
- InstanceKeyCollisionException.cs
- XmlLoader.cs
- LookupNode.cs
- Control.cs
- DbProviderManifest.cs
- PropertyInfoSet.cs
- WindowsMenu.cs
- WaveHeader.cs
- HttpRequest.cs
- SystemColors.cs
- _AutoWebProxyScriptEngine.cs
- TrustVersion.cs
- ListCollectionView.cs
- Win32SafeHandles.cs
- ProxyManager.cs
- UtilityExtension.cs
- DataBoundControl.cs
- ScriptResourceHandler.cs
- Context.cs
- FileVersionInfo.cs
- remotingproxy.cs
- SystemIPGlobalProperties.cs
- TemporaryBitmapFile.cs
- ApplicationActivator.cs
- WindowsBrush.cs
- PartialCachingControl.cs
- precedingsibling.cs
- ReachFixedDocumentSerializerAsync.cs
- RadioButton.cs
- ColumnMapVisitor.cs
- util.cs
- TextPenaltyModule.cs
- DataColumnPropertyDescriptor.cs
- ListItemCollection.cs
- StylusOverProperty.cs
- DataRelationCollection.cs
- SafeCryptContextHandle.cs
- ResourceAssociationSet.cs
- SqlParameterCollection.cs
- MimeParameters.cs
- PanelStyle.cs
- InheritablePropertyChangeInfo.cs
- AddInStore.cs
- QilList.cs
- ListViewGroupConverter.cs
- SecurityUniqueId.cs
- Literal.cs
- COSERVERINFO.cs
- DrawingState.cs
- HotSpot.cs
- ParserStreamGeometryContext.cs
- WebEventTraceProvider.cs
- CodeArgumentReferenceExpression.cs
- TreeBuilderBamlTranslator.cs
- PrintPreviewControl.cs
- TemplateKeyConverter.cs
- WebPageTraceListener.cs
- SafeHandle.cs
- SqlBuffer.cs
- DmlSqlGenerator.cs
- WindowsStatic.cs
- PropertyGridView.cs
- UpDownEvent.cs
- TextDecoration.cs
- Point.cs
- ResXBuildProvider.cs
- DesignTimeVisibleAttribute.cs
- Polyline.cs
- Vector3DCollection.cs
- CatalogPart.cs
- FileIOPermission.cs
- DbConnectionPoolOptions.cs
- OAVariantLib.cs
- CodeMemberMethod.cs
- Query.cs
- FreezableCollection.cs
- WebEvents.cs
- PrintDialog.cs
- X509SecurityToken.cs
- BindingGroup.cs
- AnimationStorage.cs
- WebPartCancelEventArgs.cs
- WS2007FederationHttpBinding.cs
- PropertyIdentifier.cs
- XamlFrame.cs
- MemberAccessException.cs
- PipelineDeploymentState.cs
- MetadataArtifactLoaderResource.cs
- PropertyMetadata.cs
- WebBrowser.cs
- RootBuilder.cs
- ObjectViewEntityCollectionData.cs