Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / UIAutomation / UIAutomationClient / System / Windows / Automation / OrCondition.cs / 1305600 / OrCondition.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: // // History: // 10/14/2003 : BrendanM - Created // //--------------------------------------------------------------------------- // PRESHARP: In order to avoid generating warnings about unkown message numbers and unknown pragmas. #pragma warning disable 1634, 1691 using System; using MS.Internal.Automation; using System.Windows.Automation; using System.Runtime.InteropServices; namespace System.Windows.Automation { ////// Condition that checks whether a pattern is currently present for a LogicalElement /// #if (INTERNAL_COMPILE) internal class OrCondition : Condition #else public class OrCondition : Condition #endif { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Constructor to create a condition that is true if any of the sub-conditions are true /// /// One or more sub-condition public OrCondition( params Condition [ ] conditions ) { Misc.ValidateArgumentNonNull( conditions, "conditions" ); Misc.ValidateArgument( conditions.Length >= 2, SRID.MustBeAtLeastTwoConditions ); foreach( Condition condition in conditions ) { Misc.ValidateArgumentNonNull( condition, "conditions" ); } // clone array to prevent accidental tampering _conditions = (Condition[])conditions.Clone(); _conditionArrayHandle = SafeConditionMemoryHandle.AllocateConditionArrayHandle(_conditions); // DangerousGetHandle() reminds us that the IntPtr we get back could be collected/released/recycled. We're safe here, // because the Conditions are structured in a tree, with the root one (which gets passed to the Uia API) keeping all // others - and their associated data - alive. (Recycling isn't an issue as these are immutable classes.) SetMarshalData(new UiaCoreApi.UiaAndOrCondition(UiaCoreApi.ConditionType.Or, _conditionArrayHandle.DangerousGetHandle(), _conditions.Length)); } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- #region Public Methods ////// Returns an array of the sub conditions for this condition. /// ////// The returned array is a copy; modifying it will not affect the /// state of the condition. /// public Condition [ ] GetConditions() { return (Condition []) _conditions.Clone(); } #endregion Public Methods //------------------------------------------------------ // // Private Fields // //------------------------------------------------------ #region Private Fields Condition [ ] _conditions; SafeConditionMemoryHandle _conditionArrayHandle; #endregion Private Fields } } // 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
- SectionVisual.cs
- BaseResourcesBuildProvider.cs
- NumberFormatter.cs
- Popup.cs
- ScopedKnownTypes.cs
- ScriptMethodAttribute.cs
- SurrogateSelector.cs
- RC2CryptoServiceProvider.cs
- OutputBuffer.cs
- HTTPNotFoundHandler.cs
- StaticFileHandler.cs
- StreamUpdate.cs
- EventDriven.cs
- Pointer.cs
- TextControl.cs
- wpf-etw.cs
- StringToken.cs
- BinaryMessageFormatter.cs
- CodeCommentStatement.cs
- ProviderSettings.cs
- SynchronizedDispatch.cs
- CustomAttribute.cs
- EditingMode.cs
- Activator.cs
- Guid.cs
- QueuePathEditor.cs
- PropertyHelper.cs
- GestureRecognitionResult.cs
- PasswordBoxAutomationPeer.cs
- OutputScope.cs
- RequestCacheEntry.cs
- ExceptionValidationRule.cs
- TextElementCollection.cs
- Confirm.cs
- ToolStripActionList.cs
- TableTextElementCollectionInternal.cs
- SafeFindHandle.cs
- BulletChrome.cs
- StyleXamlParser.cs
- XpsStructure.cs
- SiteMapHierarchicalDataSourceView.cs
- XslCompiledTransform.cs
- TemplateComponentConnector.cs
- SQLDateTimeStorage.cs
- ServiceContractGenerator.cs
- HtmlInputPassword.cs
- ImageFormat.cs
- PropertyPathConverter.cs
- PKCS1MaskGenerationMethod.cs
- EventMappingSettingsCollection.cs
- ProfileProvider.cs
- MdiWindowListItemConverter.cs
- RadioButtonBaseAdapter.cs
- RSAPKCS1KeyExchangeFormatter.cs
- RelationshipType.cs
- CodeParameterDeclarationExpression.cs
- LiteralControl.cs
- ProxyHelper.cs
- DocumentManager.cs
- BrushMappingModeValidation.cs
- CollectionBuilder.cs
- CryptoHelper.cs
- NativeActivityTransactionContext.cs
- PackageRelationship.cs
- Filter.cs
- FormsAuthenticationConfiguration.cs
- XmlDsigSep2000.cs
- ServicePrincipalNameElement.cs
- Constraint.cs
- ChoiceConverter.cs
- EmbeddedMailObjectsCollection.cs
- DefaultEvaluationContext.cs
- DataGridRowHeader.cs
- WhiteSpaceTrimStringConverter.cs
- DbProviderSpecificTypePropertyAttribute.cs
- ImageFormatConverter.cs
- FocusWithinProperty.cs
- GeometryModel3D.cs
- DetailsViewRow.cs
- PkcsUtils.cs
- DataObjectEventArgs.cs
- OrCondition.cs
- PropertyReference.cs
- CardSpaceShim.cs
- ItemDragEvent.cs
- MouseOverProperty.cs
- CallbackValidator.cs
- AttributeSetAction.cs
- PartialTrustVisibleAssemblyCollection.cs
- RegexWriter.cs
- rsa.cs
- future.cs
- ImageAttributes.cs
- PageCatalogPart.cs
- MarkupCompilePass2.cs
- LookupNode.cs
- ActivationArguments.cs
- MessageRpc.cs
- CodeAccessSecurityEngine.cs
- RecommendedAsConfigurableAttribute.cs