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
- WindowsPen.cs
- ListDictionaryInternal.cs
- SortDescription.cs
- ValidationSummary.cs
- Scheduler.cs
- RuleSettings.cs
- PageAsyncTaskManager.cs
- KeysConverter.cs
- WindowsFormsSynchronizationContext.cs
- Rect3DConverter.cs
- UnaryExpression.cs
- ToolboxItemLoader.cs
- CommandManager.cs
- CustomTrackingRecord.cs
- TypeConverterHelper.cs
- SharedDp.cs
- HttpWebRequest.cs
- ZoneMembershipCondition.cs
- Helpers.cs
- AutomationPattern.cs
- TemplateInstanceAttribute.cs
- Compiler.cs
- CacheModeConverter.cs
- HostingEnvironmentException.cs
- BitmapPalette.cs
- Profiler.cs
- UshortList2.cs
- RijndaelManaged.cs
- StringReader.cs
- BinaryReader.cs
- XmlSchemaAnnotation.cs
- ProcessStartInfo.cs
- SelectedCellsChangedEventArgs.cs
- XsltConvert.cs
- ExeConfigurationFileMap.cs
- TabControl.cs
- WebEventCodes.cs
- BamlMapTable.cs
- XPathArrayIterator.cs
- GPRECTF.cs
- WindowsMenu.cs
- RightsManagementPermission.cs
- AuthenticateEventArgs.cs
- DesignerForm.cs
- AttributeParameterInfo.cs
- HttpAsyncResult.cs
- SecurityPolicySection.cs
- WebPartManagerInternals.cs
- ContextActivityUtils.cs
- SnapLine.cs
- Task.cs
- TriState.cs
- XmlQueryContext.cs
- XsdValidatingReader.cs
- DropShadowBitmapEffect.cs
- IPHostEntry.cs
- SMSvcHost.cs
- MembershipValidatePasswordEventArgs.cs
- ETagAttribute.cs
- PropertyDescriptorComparer.cs
- NullableBoolConverter.cs
- Form.cs
- SimpleExpression.cs
- ExtendedPropertyDescriptor.cs
- SoapIgnoreAttribute.cs
- ipaddressinformationcollection.cs
- GenericTypeParameterBuilder.cs
- webclient.cs
- ConfigurationElementProperty.cs
- TextSearch.cs
- DataContractAttribute.cs
- ViewUtilities.cs
- DebugView.cs
- MSAAWinEventWrap.cs
- GrammarBuilderRuleRef.cs
- ProviderConnectionPoint.cs
- OracleNumber.cs
- PrinterResolution.cs
- DbMetaDataCollectionNames.cs
- SspiNegotiationTokenProvider.cs
- SizeIndependentAnimationStorage.cs
- PrintDialog.cs
- WinEventTracker.cs
- BoundField.cs
- X509AudioLogo.cs
- SmtpCommands.cs
- ZoomingMessageFilter.cs
- FormView.cs
- Debug.cs
- _ServiceNameStore.cs
- WebPartManagerInternals.cs
- PropertyRef.cs
- SqlLiftWhereClauses.cs
- FixedSOMImage.cs
- DbDataAdapter.cs
- Preprocessor.cs
- CodeIterationStatement.cs
- _Win32.cs
- ToolStripOverflowButton.cs
- BamlLocalizableResource.cs