Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / UIAutomation / UIAutomationClient / System / Windows / Automation / OrCondition.cs / 1305600 / OrCondition.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 OrCondition : Condition #else public class OrCondition : Condition #endif { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Constructor to create a condition that is true if any of the sub-conditions are true /// /// One or more sub-condition public OrCondition( 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.Or, _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
- Funcletizer.cs
- UserControl.cs
- BamlLocalizer.cs
- CustomValidator.cs
- BinaryNegotiation.cs
- ColorAnimationUsingKeyFrames.cs
- XmlEntity.cs
- XPathNodeInfoAtom.cs
- SafeEventLogReadHandle.cs
- Rijndael.cs
- XmlTextReaderImplHelpers.cs
- SQLRoleProvider.cs
- EnumDataContract.cs
- MetafileHeader.cs
- ConsoleKeyInfo.cs
- ClientProxyGenerator.cs
- BamlResourceDeserializer.cs
- CompileXomlTask.cs
- ScrollEvent.cs
- FreezableOperations.cs
- Stacktrace.cs
- EdmItemCollection.OcAssemblyCache.cs
- Tuple.cs
- TextOutput.cs
- IISUnsafeMethods.cs
- BamlCollectionHolder.cs
- QueryTask.cs
- RelAssertionDirectKeyIdentifierClause.cs
- ManifestResourceInfo.cs
- Accessors.cs
- MembershipPasswordException.cs
- ConversionHelper.cs
- OracleSqlParser.cs
- SerializationFieldInfo.cs
- OleDbSchemaGuid.cs
- BookmarkUndoUnit.cs
- ToolStripPanelRow.cs
- SerTrace.cs
- GrammarBuilderPhrase.cs
- WorkflowApplicationEventArgs.cs
- PixelFormats.cs
- isolationinterop.cs
- PropertyInformationCollection.cs
- OptimizedTemplateContentHelper.cs
- UpdateExpressionVisitor.cs
- securestring.cs
- MergeFailedEvent.cs
- Normalization.cs
- BlurEffect.cs
- CodeCommentStatementCollection.cs
- SelectionRange.cs
- MailDefinitionBodyFileNameEditor.cs
- NetStream.cs
- WpfKnownMember.cs
- typedescriptorpermission.cs
- WindowAutomationPeer.cs
- PropertyGridView.cs
- XmlElementAttributes.cs
- LockedAssemblyCache.cs
- CompilationUnit.cs
- DataSourceControlBuilder.cs
- Component.cs
- CalculatedColumn.cs
- ResourceFallbackManager.cs
- AssemblyInfo.cs
- ParserContext.cs
- InkPresenter.cs
- Size.cs
- WebBaseEventKeyComparer.cs
- Rotation3D.cs
- URLAttribute.cs
- RegexFCD.cs
- DNS.cs
- IBuiltInEvidence.cs
- HttpResponseInternalBase.cs
- SqlBulkCopyColumnMapping.cs
- UpdatePanel.cs
- SettingsContext.cs
- StringReader.cs
- SqlConnection.cs
- HttpCachePolicyElement.cs
- LinqDataSourceStatusEventArgs.cs
- UnitySerializationHolder.cs
- TagMapCollection.cs
- UnorderedHashRepartitionStream.cs
- NativeWrapper.cs
- ProviderCommandInfoUtils.cs
- EUCJPEncoding.cs
- WebPart.cs
- PriorityRange.cs
- PasswordDeriveBytes.cs
- XmlnsCompatibleWithAttribute.cs
- _IPv4Address.cs
- XmlEncodedRawTextWriter.cs
- LifetimeServices.cs
- ColorComboBox.cs
- Endpoint.cs
- DependencyObject.cs
- HMACMD5.cs
- ToolStripManager.cs