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
- HeaderedContentControl.cs
- Int64Converter.cs
- Sql8ExpressionRewriter.cs
- ButtonFlatAdapter.cs
- HandoffBehavior.cs
- WindowsTokenRoleProvider.cs
- StyleHelper.cs
- OdbcDataAdapter.cs
- ByteFacetDescriptionElement.cs
- HtmlHead.cs
- XmlAnyElementAttribute.cs
- ExpressionReplacer.cs
- __ComObject.cs
- DecodeHelper.cs
- DispatcherHookEventArgs.cs
- OptimalTextSource.cs
- COAUTHIDENTITY.cs
- CounterCreationData.cs
- KeyTime.cs
- OleDbStruct.cs
- Vertex.cs
- DataException.cs
- Single.cs
- PropertyGridView.cs
- HideDisabledControlAdapter.cs
- UnknownBitmapEncoder.cs
- WebConfigurationHostFileChange.cs
- PathSegment.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- FileDataSourceCache.cs
- TimeSpanMinutesConverter.cs
- SystemWebSectionGroup.cs
- StrokeRenderer.cs
- QueryPageSettingsEventArgs.cs
- ComponentManagerBroker.cs
- FilterableData.cs
- DynamicObjectAccessor.cs
- TripleDESCryptoServiceProvider.cs
- EntityViewContainer.cs
- DoubleKeyFrameCollection.cs
- HttpException.cs
- CryptoApi.cs
- DynamicRouteExpression.cs
- MailMessage.cs
- IDQuery.cs
- DocumentCollection.cs
- SiblingIterators.cs
- peersecurityelement.cs
- CustomAttribute.cs
- entityreference_tresulttype.cs
- ContextInformation.cs
- CompiledXpathExpr.cs
- ButtonStandardAdapter.cs
- PasswordTextNavigator.cs
- PropertyRecord.cs
- nulltextnavigator.cs
- DocumentXmlWriter.cs
- GeneralTransform3DCollection.cs
- CacheForPrimitiveTypes.cs
- SqlDataSourceSelectingEventArgs.cs
- TabletCollection.cs
- ClientOptions.cs
- CurrencyWrapper.cs
- SqlAliasesReferenced.cs
- MaterialGroup.cs
- ByteStack.cs
- OleDbStruct.cs
- ScaleTransform3D.cs
- ViewBox.cs
- ContentControl.cs
- TransactionsSectionGroup.cs
- TemplateField.cs
- DBBindings.cs
- PropertyRef.cs
- PriorityChain.cs
- Help.cs
- Icon.cs
- XmlTypeAttribute.cs
- UrlPropertyAttribute.cs
- Int64Converter.cs
- ConfigXmlWhitespace.cs
- CounterSample.cs
- Utils.cs
- WindowsTitleBar.cs
- AsyncDataRequest.cs
- RTLAwareMessageBox.cs
- GetPageNumberCompletedEventArgs.cs
- ObjectItemLoadingSessionData.cs
- File.cs
- Decorator.cs
- DrawingGroup.cs
- ConversionContext.cs
- Transform3D.cs
- DataServiceQueryProvider.cs
- SerialReceived.cs
- SmtpLoginAuthenticationModule.cs
- ScalarRestriction.cs
- KeyPressEvent.cs
- TypeSystemHelpers.cs
- WindowCollection.cs