Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / UIAutomation / UIAutomationClient / System / Windows / Automation / OrCondition.cs / 1 / 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. //---------------------------------------------------------------------------- // //// 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
- MinMaxParagraphWidth.cs
- BooleanAnimationBase.cs
- ConnectionManagementElement.cs
- OleDbError.cs
- MethodBuilder.cs
- NumberFormatInfo.cs
- FactoryGenerator.cs
- BamlStream.cs
- WebBrowserUriTypeConverter.cs
- Camera.cs
- ExceptQueryOperator.cs
- XPathExpr.cs
- MainMenu.cs
- DiscoveryEndpointValidator.cs
- WebSysDefaultValueAttribute.cs
- MethodBuilderInstantiation.cs
- EntityDataSourceView.cs
- CommandManager.cs
- BitmapEffectDrawing.cs
- FileInfo.cs
- XmlILIndex.cs
- ApplicationDirectory.cs
- RegexCharClass.cs
- XmlDataImplementation.cs
- propertyentry.cs
- Choices.cs
- Rect3DValueSerializer.cs
- DeferredTextReference.cs
- PeerApplication.cs
- DBDataPermissionAttribute.cs
- ProcessHost.cs
- CultureInfoConverter.cs
- DataGridViewRowsAddedEventArgs.cs
- SchemaImporterExtensionsSection.cs
- StringSorter.cs
- _Connection.cs
- TransformGroup.cs
- CollectionContainer.cs
- ResourcesBuildProvider.cs
- SerialReceived.cs
- ContextMenuStripGroupCollection.cs
- XsdDateTime.cs
- AsyncDataRequest.cs
- MimeObjectFactory.cs
- ReflectPropertyDescriptor.cs
- FlowThrottle.cs
- DelegatingHeader.cs
- XmlEncoding.cs
- Pointer.cs
- FullTextBreakpoint.cs
- ConfigUtil.cs
- Int64AnimationUsingKeyFrames.cs
- DataControlLinkButton.cs
- EndEvent.cs
- AuthenticateEventArgs.cs
- safemediahandle.cs
- MarshalByRefObject.cs
- TextSyndicationContentKindHelper.cs
- SimpleTypesSurrogate.cs
- TopClause.cs
- XmlSerializerOperationFormatter.cs
- TagMapCollection.cs
- UnicodeEncoding.cs
- DelegateTypeInfo.cs
- DbException.cs
- AppendHelper.cs
- QilXmlWriter.cs
- BamlTreeMap.cs
- TdsEnums.cs
- DelegateBodyWriter.cs
- ControlUtil.cs
- SpotLight.cs
- BCLDebug.cs
- WebContext.cs
- InputLanguageManager.cs
- CmsInterop.cs
- LogicalChannel.cs
- ClickablePoint.cs
- DynamicObjectAccessor.cs
- SpellerStatusTable.cs
- Ray3DHitTestResult.cs
- CheckBoxRenderer.cs
- AttributeAction.cs
- SafeNativeMethods.cs
- HandlerBase.cs
- DrawingContextWalker.cs
- BuildResult.cs
- String.cs
- AssertFilter.cs
- NativeRightsManagementAPIsStructures.cs
- PolyBezierSegment.cs
- PropVariant.cs
- AuthenticationService.cs
- EventToken.cs
- TypeDescriptionProviderAttribute.cs
- BrushValueSerializer.cs
- GridPatternIdentifiers.cs
- QilPatternVisitor.cs
- DebugInfo.cs
- PolicyManager.cs