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
- ProcessModuleCollection.cs
- EnvelopedSignatureTransform.cs
- ContextProperty.cs
- PrivilegedConfigurationManager.cs
- SoapSchemaExporter.cs
- EntityContainer.cs
- DetailsViewDeletedEventArgs.cs
- StringDictionaryCodeDomSerializer.cs
- WindowsEditBoxRange.cs
- ExtractedStateEntry.cs
- DecoderReplacementFallback.cs
- ExpressionBuilder.cs
- SecureStringHasher.cs
- ArrayList.cs
- TextTreeTextBlock.cs
- TabControlDesigner.cs
- ConfigurationValues.cs
- COM2ExtendedTypeConverter.cs
- SchemaCollectionCompiler.cs
- TextTrailingCharacterEllipsis.cs
- BitmapEffect.cs
- SqlCacheDependency.cs
- InlineObject.cs
- FilteredReadOnlyMetadataCollection.cs
- AstTree.cs
- QueryRewriter.cs
- SerializationSectionGroup.cs
- MenuItemBindingCollection.cs
- SingleResultAttribute.cs
- TraceXPathNavigator.cs
- CatalogPartChrome.cs
- PageTextBox.cs
- ComponentCollection.cs
- ConnectionStringsExpressionBuilder.cs
- BackStopAuthenticationModule.cs
- DataSourceXmlClassAttribute.cs
- Dictionary.cs
- ResourcePool.cs
- AffineTransform3D.cs
- ObjectStorage.cs
- FrameworkPropertyMetadata.cs
- MembershipUser.cs
- DataGridToolTip.cs
- FrameworkContentElement.cs
- DebugInfo.cs
- MachineSettingsSection.cs
- DesignerView.cs
- IUnknownConstantAttribute.cs
- HTMLTagNameToTypeMapper.cs
- DomainConstraint.cs
- ImageConverter.cs
- ContextMenuStrip.cs
- Calendar.cs
- CustomWebEventKey.cs
- Matrix.cs
- KnownAssembliesSet.cs
- ResourcesChangeInfo.cs
- ObjectListGeneralPage.cs
- COM2IDispatchConverter.cs
- DataColumnCollection.cs
- GPPOINTF.cs
- WebPartEditorOkVerb.cs
- FormatterServices.cs
- XmlDocumentSerializer.cs
- Item.cs
- EmptyControlCollection.cs
- BamlWriter.cs
- ParameterBuilder.cs
- DocumentViewerBase.cs
- TableMethodGenerator.cs
- SimpleLine.cs
- ControlDesigner.cs
- WaitHandle.cs
- EdmToObjectNamespaceMap.cs
- WindowsFormsEditorServiceHelper.cs
- Dispatcher.cs
- BoundsDrawingContextWalker.cs
- LiteralLink.cs
- UnsafeNativeMethods.cs
- FixUpCollection.cs
- JsonStringDataContract.cs
- TypeConverterHelper.cs
- AdornedElementPlaceholder.cs
- DoneReceivingAsyncResult.cs
- _StreamFramer.cs
- HeaderedItemsControl.cs
- SHA1Managed.cs
- SmtpException.cs
- TdsValueSetter.cs
- OracleTimeSpan.cs
- WasAdminWrapper.cs
- URLString.cs
- XmlAtomicValue.cs
- ContainsSearchOperator.cs
- ResponseBodyWriter.cs
- DataControlImageButton.cs
- RepeaterDataBoundAdapter.cs
- AssemblyResourceLoader.cs
- Query.cs
- GroupDescription.cs