Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / UIAutomation / UIAutomationClient / System / Windows / Automation / AndCondition.cs / 1 / AndCondition.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 AndCondition : Condition #else public class AndCondition : Condition #endif { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Constructor to create a condition that is true if all of the sub-conditions are true /// /// One or more sub-condition public AndCondition( 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.And, _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. //---------------------------------------------------------------------------- // //// 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 AndCondition : Condition #else public class AndCondition : Condition #endif { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Constructor to create a condition that is true if all of the sub-conditions are true /// /// One or more sub-condition public AndCondition( 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.And, _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
- elementinformation.cs
- DataGridViewMethods.cs
- ActivationArguments.cs
- XmlIgnoreAttribute.cs
- PreviewKeyDownEventArgs.cs
- LayoutExceptionEventArgs.cs
- Mapping.cs
- BufferedWebEventProvider.cs
- bidPrivateBase.cs
- KeyValueInternalCollection.cs
- RevocationPoint.cs
- Visitor.cs
- MarkedHighlightComponent.cs
- OpenTypeCommon.cs
- KnownBoxes.cs
- UIElementParaClient.cs
- Thread.cs
- CheckBoxField.cs
- Win32SafeHandles.cs
- DesignerVerb.cs
- ImageMapEventArgs.cs
- BindingContext.cs
- XsltContext.cs
- TypeUtil.cs
- EntityClassGenerator.cs
- GridViewCommandEventArgs.cs
- ToolboxItemSnapLineBehavior.cs
- TextTreeTextNode.cs
- RIPEMD160.cs
- GridItemCollection.cs
- ReaderWriterLockSlim.cs
- EventDescriptorCollection.cs
- ExtentKey.cs
- SocketElement.cs
- RefreshPropertiesAttribute.cs
- TabRenderer.cs
- PropertyEmitterBase.cs
- MenuDesigner.cs
- MetadataSerializer.cs
- ObservableCollection.cs
- CompilerTypeWithParams.cs
- XmlRawWriterWrapper.cs
- DynamicValueConverter.cs
- AttributedMetaModel.cs
- SeverityFilter.cs
- SqlWebEventProvider.cs
- XmlChoiceIdentifierAttribute.cs
- TreeView.cs
- DataGridView.cs
- SelfIssuedAuthRSACryptoProvider.cs
- CodePageUtils.cs
- MyContact.cs
- TaskFactory.cs
- TypeUtil.cs
- SessionSwitchEventArgs.cs
- TemplateControlBuildProvider.cs
- ManipulationDevice.cs
- SqlConnectionManager.cs
- Message.cs
- XPathAxisIterator.cs
- OdbcCommandBuilder.cs
- pingexception.cs
- ListViewCommandEventArgs.cs
- versioninfo.cs
- CustomValidator.cs
- HMACSHA384.cs
- CatalogZone.cs
- CodeTryCatchFinallyStatement.cs
- ConfigurationLockCollection.cs
- DateTimeSerializationSection.cs
- SendMailErrorEventArgs.cs
- ViewDesigner.cs
- StructuredCompositeActivityDesigner.cs
- ProfileSettingsCollection.cs
- AbandonedMutexException.cs
- SplitContainerDesigner.cs
- AnnotationComponentChooser.cs
- ResourceReferenceKeyNotFoundException.cs
- IdentityModelDictionary.cs
- TextSelectionHelper.cs
- ColorContext.cs
- RepeatBehaviorConverter.cs
- ViewKeyConstraint.cs
- CaseInsensitiveHashCodeProvider.cs
- SystemResources.cs
- TextTreeText.cs
- SiteMapDataSource.cs
- EmbeddedMailObject.cs
- PropertyMetadata.cs
- Unit.cs
- SQLSingleStorage.cs
- WebPartUtil.cs
- PageRanges.cs
- BevelBitmapEffect.cs
- ExternalException.cs
- CrossAppDomainChannel.cs
- DebuggerAttributes.cs
- ScriptResourceHandler.cs
- SafeRightsManagementHandle.cs
- AddressAccessDeniedException.cs