Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / UIAutomation / UIAutomationClient / System / Windows / Automation / AndCondition.cs / 1305600 / 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
- XmlEncodedRawTextWriter.cs
- SqlNotificationRequest.cs
- DrawingGroup.cs
- SplitContainer.cs
- DesignConnection.cs
- Schema.cs
- AccessibilityHelperForXpWin2k3.cs
- ShaderRenderModeValidation.cs
- LinqDataSourceInsertEventArgs.cs
- ParsedAttributeCollection.cs
- DataGridToolTip.cs
- WorkflowInstance.cs
- CompilerErrorCollection.cs
- CaseStatement.cs
- SigningProgress.cs
- WindowsPrincipal.cs
- EditBehavior.cs
- GridViewDeleteEventArgs.cs
- ToolStripButton.cs
- SoapTypeAttribute.cs
- HideDisabledControlAdapter.cs
- DBBindings.cs
- DBSqlParserTable.cs
- HiddenFieldPageStatePersister.cs
- XPathAncestorIterator.cs
- WebScriptMetadataInstanceContextProvider.cs
- DataTrigger.cs
- DBSqlParserColumn.cs
- IdleTimeoutMonitor.cs
- ConvertersCollection.cs
- ImageSourceValueSerializer.cs
- QuaternionValueSerializer.cs
- TypeSource.cs
- SiteMapNodeItemEventArgs.cs
- SoapClientMessage.cs
- DbMetaDataFactory.cs
- ValueCollectionParameterReader.cs
- BatchStream.cs
- TreeNodeSelectionProcessor.cs
- ResourceSet.cs
- InternalMappingException.cs
- CultureInfo.cs
- PropertyOrder.cs
- CircleHotSpot.cs
- X509AsymmetricSecurityKey.cs
- OleDbSchemaGuid.cs
- SHA384.cs
- SqlInfoMessageEvent.cs
- XamlToRtfWriter.cs
- JsonByteArrayDataContract.cs
- AccessText.cs
- TimeStampChecker.cs
- CurrentChangingEventArgs.cs
- AuthenticationService.cs
- XPathNodeIterator.cs
- Transform3D.cs
- UInt32.cs
- NetTcpBinding.cs
- SingleAnimationBase.cs
- SerializeAbsoluteContext.cs
- HttpModuleCollection.cs
- ServiceHttpHandlerFactory.cs
- DocumentSequence.cs
- DataGridPageChangedEventArgs.cs
- IPEndPointCollection.cs
- DecimalConstantAttribute.cs
- CodeTypeParameterCollection.cs
- DataGridViewButtonCell.cs
- _AutoWebProxyScriptHelper.cs
- HotSpotCollectionEditor.cs
- GPRECT.cs
- ManualResetEvent.cs
- Merger.cs
- BuildProviderAppliesToAttribute.cs
- PropertyAccessVisitor.cs
- UserMapPath.cs
- ApplicationManager.cs
- MemoryMappedView.cs
- OleDbWrapper.cs
- DependencyObjectValidator.cs
- MouseEvent.cs
- OracleConnectionFactory.cs
- UniqueIdentifierService.cs
- EditorServiceContext.cs
- ConstructorBuilder.cs
- UidPropertyAttribute.cs
- Set.cs
- RegexCaptureCollection.cs
- ChangeNode.cs
- BaseDataList.cs
- AssemblyName.cs
- MemberPath.cs
- XmlSchema.cs
- SrgsRulesCollection.cs
- ConsoleCancelEventArgs.cs
- StateWorkerRequest.cs
- NoPersistProperty.cs
- GlyphInfoList.cs
- BufferedStream.cs
- QilXmlReader.cs