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
- IList.cs
- ExpressionBindingCollection.cs
- ChtmlTextWriter.cs
- listviewsubitemcollectioneditor.cs
- NamespaceEmitter.cs
- UniqueIdentifierService.cs
- WebHttpDispatchOperationSelector.cs
- ResourcePool.cs
- WebPartDescription.cs
- GridViewCellAutomationPeer.cs
- SiteMapDataSourceView.cs
- CollectionViewProxy.cs
- ArglessEventHandlerProxy.cs
- LinqDataSourceContextEventArgs.cs
- LoginName.cs
- Point3DAnimationUsingKeyFrames.cs
- OverrideMode.cs
- CompensatableTransactionScopeActivity.cs
- GC.cs
- XXXOnTypeBuilderInstantiation.cs
- SqlInternalConnectionTds.cs
- StdValidatorsAndConverters.cs
- AttachedAnnotation.cs
- PTUtility.cs
- HtmlTableRowCollection.cs
- Compiler.cs
- ToolstripProfessionalRenderer.cs
- C14NUtil.cs
- TrustLevelCollection.cs
- SyndicationSerializer.cs
- CodeIterationStatement.cs
- SqlFacetAttribute.cs
- FunctionDescription.cs
- EasingQuaternionKeyFrame.cs
- SplashScreenNativeMethods.cs
- TCEAdapterGenerator.cs
- DefinitionBase.cs
- SupportsPreviewControlAttribute.cs
- AssemblyResolver.cs
- TextContainerHelper.cs
- XPathNavigatorKeyComparer.cs
- ResourceDefaultValueAttribute.cs
- ExceptionUtil.cs
- _StreamFramer.cs
- TrustManager.cs
- SetterTriggerConditionValueConverter.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- DataTableCollection.cs
- RootBrowserWindow.cs
- TextChange.cs
- Material.cs
- WebDisplayNameAttribute.cs
- BamlLocalizationDictionary.cs
- ToolStripDropDownItem.cs
- ButtonRenderer.cs
- RepeaterItemEventArgs.cs
- ExpressionList.cs
- StrokeCollectionConverter.cs
- DataGridViewTopLeftHeaderCell.cs
- TextContainerChangeEventArgs.cs
- SubclassTypeValidatorAttribute.cs
- QilIterator.cs
- Error.cs
- ModuleElement.cs
- InvalidDataException.cs
- SqlFlattener.cs
- ColumnPropertiesGroup.cs
- UpdateRecord.cs
- ListControl.cs
- WindowsListViewGroupHelper.cs
- XmlSchemaAnnotation.cs
- SymDocumentType.cs
- OdbcParameterCollection.cs
- NavigationPropertyEmitter.cs
- DataRowCollection.cs
- BuildProvider.cs
- AppDomainProtocolHandler.cs
- SymmetricKeyWrap.cs
- MultitargetingHelpers.cs
- XmlSerializerFactory.cs
- PatternMatcher.cs
- QueryCursorEventArgs.cs
- AdPostCacheSubstitution.cs
- BoundColumn.cs
- FixedElement.cs
- SerializationAttributes.cs
- CombinedGeometry.cs
- Visual3D.cs
- PropertyMapper.cs
- PackageStore.cs
- Timer.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- EventMappingSettings.cs
- ReflectEventDescriptor.cs
- EventPropertyMap.cs
- __ConsoleStream.cs
- GenericTypeParameterBuilder.cs
- WizardForm.cs
- ProfileGroupSettingsCollection.cs
- RoleManagerEventArgs.cs