Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- MemberRestriction.cs
- DetailsViewUpdatedEventArgs.cs
- DataGridRowEventArgs.cs
- ParameterBuilder.cs
- XmlTypeAttribute.cs
- DataServiceQueryOfT.cs
- ExpressionParser.cs
- mda.cs
- TypeSystemHelpers.cs
- SecurityTokenProvider.cs
- CharUnicodeInfo.cs
- BufferedReadStream.cs
- FocusTracker.cs
- SystemResourceKey.cs
- IIS7WorkerRequest.cs
- EntityDataSourceUtil.cs
- IsolatedStorageException.cs
- MessageParameterAttribute.cs
- BinaryFormatterSinks.cs
- ReferentialConstraintRoleElement.cs
- SecurityContextSecurityTokenAuthenticator.cs
- HttpCookieCollection.cs
- Hash.cs
- SkinBuilder.cs
- ContainerVisual.cs
- CurrentChangingEventManager.cs
- ButtonChrome.cs
- ImageSource.cs
- OutputChannelBinder.cs
- DecoratedNameAttribute.cs
- PropertyPath.cs
- SpotLight.cs
- RewritingValidator.cs
- EntityDescriptor.cs
- UxThemeWrapper.cs
- DataTemplateKey.cs
- COM2TypeInfoProcessor.cs
- RulePatternOps.cs
- _Rfc2616CacheValidators.cs
- GeneralTransformGroup.cs
- DesignerVerbCollection.cs
- Win32KeyboardDevice.cs
- SelectionRange.cs
- HttpRawResponse.cs
- TcpHostedTransportConfiguration.cs
- Rect3DValueSerializer.cs
- TextElementAutomationPeer.cs
- NotifyCollectionChangedEventArgs.cs
- PageFunction.cs
- ContentWrapperAttribute.cs
- Transform3DGroup.cs
- MessageSecurityTokenVersion.cs
- TripleDESCryptoServiceProvider.cs
- FixedTextSelectionProcessor.cs
- XmlWriterSettings.cs
- CollectionCodeDomSerializer.cs
- StaticExtensionConverter.cs
- TextFindEngine.cs
- CommandLineParser.cs
- XmlBinaryReader.cs
- DbDataRecord.cs
- X509Chain.cs
- EarlyBoundInfo.cs
- RequestStatusBarUpdateEventArgs.cs
- DictionaryEntry.cs
- EventPropertyMap.cs
- IndentedWriter.cs
- StylusDownEventArgs.cs
- FontStyles.cs
- AccessDataSourceView.cs
- ImageAutomationPeer.cs
- ControllableStoryboardAction.cs
- XsltSettings.cs
- DateTimeOffsetConverter.cs
- SimpleTableProvider.cs
- TextEditorParagraphs.cs
- PLINQETWProvider.cs
- HttpListenerContext.cs
- X500Name.cs
- RichTextBox.cs
- UIElementParaClient.cs
- XmlUtil.cs
- XmlException.cs
- TableLayoutStyleCollection.cs
- EventRoute.cs
- StylusPoint.cs
- SystemNetHelpers.cs
- MsmqMessage.cs
- TextModifier.cs
- XmlSchemaRedefine.cs
- DeriveBytes.cs
- DesignerEditorPartChrome.cs
- XmlSchemaObjectCollection.cs
- XmlNamedNodeMap.cs
- RegexCompilationInfo.cs
- Drawing.cs
- HtmlControl.cs
- RemoteDebugger.cs
- ErrorFormatter.cs
- DesignerLoader.cs