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
- XmlSchemaSimpleContentRestriction.cs
- UnitySerializationHolder.cs
- ChannelServices.cs
- ScriptRef.cs
- TemplateBindingExpression.cs
- XmlSchemaInferenceException.cs
- ImplicitInputBrush.cs
- FormViewModeEventArgs.cs
- Assembly.cs
- LinearKeyFrames.cs
- ConfigXmlAttribute.cs
- DataServiceRequestArgs.cs
- ListViewHitTestInfo.cs
- WinInet.cs
- SmiMetaData.cs
- SettingsPropertyWrongTypeException.cs
- FontWeightConverter.cs
- WebEventCodes.cs
- x509store.cs
- XPathLexer.cs
- FileDataSourceCache.cs
- XmlSchemaExternal.cs
- WmiEventSink.cs
- UIElement.cs
- XmlHierarchicalEnumerable.cs
- CodeTypeConstructor.cs
- QueryInterceptorAttribute.cs
- CustomValidator.cs
- Point3DConverter.cs
- WindowPatternIdentifiers.cs
- GeneralTransform3DGroup.cs
- WebPageTraceListener.cs
- ObjectResult.cs
- PointF.cs
- HttpRuntimeSection.cs
- RectConverter.cs
- HwndPanningFeedback.cs
- DataViewManager.cs
- IntSecurity.cs
- ManagementDateTime.cs
- WindowsFormsHelpers.cs
- XmlDownloadManager.cs
- TypeUsage.cs
- CommentAction.cs
- PathSegment.cs
- AffineTransform3D.cs
- AddInPipelineAttributes.cs
- CorrelationManager.cs
- WmlLinkAdapter.cs
- ColumnPropertiesGroup.cs
- GlyphRunDrawing.cs
- Point4DConverter.cs
- TrustManagerMoreInformation.cs
- OdbcParameterCollection.cs
- SettingsSection.cs
- TableChangeProcessor.cs
- RemoteWebConfigurationHost.cs
- TextTreeUndoUnit.cs
- DesignerContextDescriptor.cs
- AlphaSortedEnumConverter.cs
- MetadataStore.cs
- AddInControllerImpl.cs
- ReferentialConstraintRoleElement.cs
- ProxyManager.cs
- AnonymousIdentificationModule.cs
- StringArrayConverter.cs
- SessionEndingEventArgs.cs
- GeneralTransformGroup.cs
- BamlRecords.cs
- EmptyReadOnlyDictionaryInternal.cs
- PrintController.cs
- LifetimeServices.cs
- DrawListViewItemEventArgs.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- SqlNamer.cs
- ColumnResult.cs
- KeyboardDevice.cs
- RIPEMD160Managed.cs
- ButtonColumn.cs
- PointCollectionConverter.cs
- AttributeCollection.cs
- HttpServerVarsCollection.cs
- RootBrowserWindowProxy.cs
- KeyPullup.cs
- TypefaceCollection.cs
- ISAPIApplicationHost.cs
- DefaultAsyncDataDispatcher.cs
- BitmapEffectOutputConnector.cs
- ControlPager.cs
- UInt32Converter.cs
- OdbcConnectionHandle.cs
- CatalogPart.cs
- ChangePassword.cs
- ActivationArguments.cs
- safelink.cs
- XmlSchemas.cs
- ProfileSettingsCollection.cs
- GridEntryCollection.cs
- XhtmlBasicValidatorAdapter.cs
- ScriptingScriptResourceHandlerSection.cs