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
- QilChoice.cs
- Sql8ConformanceChecker.cs
- MetadataArtifactLoader.cs
- TimeZoneInfo.cs
- MissingFieldException.cs
- ReadOnlyTernaryTree.cs
- DataGridViewTextBoxEditingControl.cs
- PathStreamGeometryContext.cs
- EDesignUtil.cs
- TextCharacters.cs
- WindowClosedEventArgs.cs
- HierarchicalDataBoundControl.cs
- CoreSwitches.cs
- SourceItem.cs
- FormsAuthenticationEventArgs.cs
- CodeExporter.cs
- RegularExpressionValidator.cs
- ConstraintEnumerator.cs
- SharedConnectionWorkflowTransactionService.cs
- OLEDB_Enum.cs
- DataGridViewSelectedCellCollection.cs
- SerializationUtilities.cs
- GCHandleCookieTable.cs
- Parameter.cs
- RenderDataDrawingContext.cs
- StatusStrip.cs
- DocumentCollection.cs
- XmlSchemaExporter.cs
- OLEDB_Enum.cs
- LiteralControl.cs
- DecimalStorage.cs
- RoutedPropertyChangedEventArgs.cs
- PolicyLevel.cs
- TypedElement.cs
- SkinBuilder.cs
- TextTrailingCharacterEllipsis.cs
- CapabilitiesAssignment.cs
- ControlPropertyNameConverter.cs
- Pair.cs
- ProviderMetadataCachedInformation.cs
- UserPreferenceChangedEventArgs.cs
- StrokeSerializer.cs
- XmlQueryContext.cs
- XmlWrappingReader.cs
- TextLine.cs
- PeerNameRegistration.cs
- TableAdapterManagerHelper.cs
- ImageButton.cs
- TextLineBreak.cs
- ObjectAnimationUsingKeyFrames.cs
- DataGridViewImageCell.cs
- AdjustableArrowCap.cs
- InternalConfigHost.cs
- WriteTimeStream.cs
- TreeNodeStyleCollection.cs
- DefaultSerializationProviderAttribute.cs
- TracePayload.cs
- DriveInfo.cs
- OperationAbortedException.cs
- Typeface.cs
- Intellisense.cs
- ContainerParagraph.cs
- CodeSnippetTypeMember.cs
- ListViewDataItem.cs
- TraceSwitch.cs
- BamlBinaryReader.cs
- DataGridViewRowConverter.cs
- ChildTable.cs
- FamilyCollection.cs
- SqlParameterCollection.cs
- PropertyValidationContext.cs
- NCryptSafeHandles.cs
- SwitchCase.cs
- ListViewGroupConverter.cs
- ToolStripRenderEventArgs.cs
- Base64Encoder.cs
- InitializationEventAttribute.cs
- QueryStringParameter.cs
- CategoryNameCollection.cs
- Model3DGroup.cs
- NameTable.cs
- DataGridViewCellCollection.cs
- DataRow.cs
- DataGridViewColumnConverter.cs
- TdsParserSafeHandles.cs
- GridSplitter.cs
- MessageFormatterConverter.cs
- ServiceOperationViewControl.cs
- _UriSyntax.cs
- PublisherMembershipCondition.cs
- DataControlHelper.cs
- Stack.cs
- WebPartDescription.cs
- HandlerBase.cs
- CommandArguments.cs
- BreakRecordTable.cs
- ThreadPoolTaskScheduler.cs
- TextRangeBase.cs
- Properties.cs
- MetadataCache.cs