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
- SqlInternalConnectionTds.cs
- CollectionExtensions.cs
- Message.cs
- DataSvcMapFileSerializer.cs
- Table.cs
- EntryWrittenEventArgs.cs
- DbDataAdapter.cs
- InfoCardService.cs
- AuthorizationRule.cs
- DesignTableCollection.cs
- Mutex.cs
- MailSettingsSection.cs
- DataGridViewRowEventArgs.cs
- GridViewPageEventArgs.cs
- CorrelationActionMessageFilter.cs
- ImmutableObjectAttribute.cs
- WorkflowEventArgs.cs
- LabelTarget.cs
- DefaultProxySection.cs
- EntityConnection.cs
- ReliableSessionBindingElementImporter.cs
- altserialization.cs
- SQLByteStorage.cs
- DataGridViewLayoutData.cs
- WindowsFormsLinkLabel.cs
- SQLBytesStorage.cs
- DuplexChannelBinder.cs
- PagePropertiesChangingEventArgs.cs
- unitconverter.cs
- JsonFormatGeneratorStatics.cs
- Font.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- TextTreeUndoUnit.cs
- TypeHelpers.cs
- DataServiceRequestException.cs
- Fonts.cs
- AvTraceFormat.cs
- BitmapFrameEncode.cs
- AmbientProperties.cs
- DataContext.cs
- MenuEventArgs.cs
- GeometryConverter.cs
- ISFClipboardData.cs
- HostedHttpRequestAsyncResult.cs
- ConfigXmlElement.cs
- FieldAccessException.cs
- MethodExpr.cs
- IOException.cs
- JapaneseCalendar.cs
- ChtmlFormAdapter.cs
- GcHandle.cs
- GradientStop.cs
- EventSource.cs
- SQLDoubleStorage.cs
- GradientStop.cs
- SerializationStore.cs
- XmlWriter.cs
- FormatterServices.cs
- XmlResolver.cs
- RootBrowserWindow.cs
- LockCookie.cs
- RequestQueryParser.cs
- DocumentPageTextView.cs
- UserControlBuildProvider.cs
- ActivityValidationServices.cs
- safelinkcollection.cs
- AnnotationStore.cs
- DataRecordInfo.cs
- SecureEnvironment.cs
- ComponentEditorForm.cs
- FastEncoder.cs
- EntityCommandDefinition.cs
- HttpServerVarsCollection.cs
- GeneratedCodeAttribute.cs
- UnsafeNativeMethods.cs
- SourceItem.cs
- DocumentGrid.cs
- PointLight.cs
- DocumentViewerBaseAutomationPeer.cs
- OrthographicCamera.cs
- ReadContentAsBinaryHelper.cs
- RoleGroupCollectionEditor.cs
- ExtensionQuery.cs
- UnmanagedBitmapWrapper.cs
- SiblingIterators.cs
- TypeSemantics.cs
- BitmapEffectInputConnector.cs
- DataGridRow.cs
- SmiMetaData.cs
- Label.cs
- InteropEnvironment.cs
- ResXResourceReader.cs
- LogLogRecordHeader.cs
- ObjectSecurity.cs
- X509UI.cs
- PictureBox.cs
- StagingAreaInputItem.cs
- WizardForm.cs
- BoundColumn.cs
- AmbientProperties.cs