Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / AccessibleTech / longhorn / Automation / UIAutomationClient / System / Windows / Automation / OrCondition.cs / 1 / OrCondition.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description:
//
// History:
// 10/14/2003 : [....] - 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
- InternalTypeHelper.cs
- EastAsianLunisolarCalendar.cs
- DataBoundLiteralControl.cs
- RegexCode.cs
- StrokeNodeOperations.cs
- DataGridViewCellStyleConverter.cs
- RegexStringValidatorAttribute.cs
- OleDragDropHandler.cs
- COM2TypeInfoProcessor.cs
- HybridObjectCache.cs
- KeyboardEventArgs.cs
- Atom10FeedFormatter.cs
- CryptoApi.cs
- PartialList.cs
- SecurityVerifiedMessage.cs
- XmlDocumentSchema.cs
- TagMapCollection.cs
- DataServiceRequestOfT.cs
- DynamicActionMessageFilter.cs
- TypographyProperties.cs
- OrderedDictionary.cs
- SecurityKeyIdentifier.cs
- Script.cs
- SendMessageChannelCache.cs
- StyleCollectionEditor.cs
- ListItem.cs
- SafeArrayTypeMismatchException.cs
- DelegatingTypeDescriptionProvider.cs
- Metadata.cs
- LinqDataSourceSelectEventArgs.cs
- HtmlInputText.cs
- HybridDictionary.cs
- HtmlInputCheckBox.cs
- DataServiceConfiguration.cs
- Process.cs
- StyleModeStack.cs
- TransformValueSerializer.cs
- GlobalEventManager.cs
- SqlCaseSimplifier.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- InputScopeNameConverter.cs
- DataMemberFieldEditor.cs
- SizeLimitedCache.cs
- GeneralTransform3D.cs
- TraceContextEventArgs.cs
- EnterpriseServicesHelper.cs
- ZipFileInfoCollection.cs
- FrameSecurityDescriptor.cs
- LinqDataSourceContextData.cs
- DbConnectionPoolIdentity.cs
- AlignmentXValidation.cs
- DbExpressionVisitor.cs
- TemplateEditingFrame.cs
- WindowsTooltip.cs
- TreeNodeMouseHoverEvent.cs
- ListViewDeletedEventArgs.cs
- SqlNamer.cs
- XmlMemberMapping.cs
- FunctionDetailsReader.cs
- DocumentSchemaValidator.cs
- ExpressionNode.cs
- Path.cs
- EventSinkHelperWriter.cs
- RenderOptions.cs
- QueryableDataSourceEditData.cs
- SectionInput.cs
- figurelengthconverter.cs
- ProfileProvider.cs
- SmtpFailedRecipientsException.cs
- GeometryGroup.cs
- SoapConverter.cs
- EndpointIdentityConverter.cs
- ColorMatrix.cs
- OracleException.cs
- OleDbFactory.cs
- QueryOperationResponseOfT.cs
- Converter.cs
- ErrorFormatter.cs
- PseudoWebRequest.cs
- SupportingTokenProviderSpecification.cs
- SynchronizedKeyedCollection.cs
- Sql8ExpressionRewriter.cs
- CodeAssignStatement.cs
- CommentEmitter.cs
- Literal.cs
- RbTree.cs
- UnsafeNativeMethods.cs
- IisTraceListener.cs
- Floater.cs
- CodeDomConfigurationHandler.cs
- ThaiBuddhistCalendar.cs
- CommandEventArgs.cs
- RegisteredHiddenField.cs
- LocatorManager.cs
- FacetValues.cs
- WaitForChangedResult.cs
- WebBrowserProgressChangedEventHandler.cs
- PersistenceException.cs
- WriteTimeStream.cs
- MimePart.cs