Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / AccessibleTech / longhorn / Automation / UIAutomationClient / System / Windows / Automation / AndCondition.cs / 1 / AndCondition.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 AndCondition : Condition
#else
public class AndCondition : Condition
#endif
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
#region Constructors
///
/// Constructor to create a condition that is true if all of the sub-conditions are true
///
/// One or more sub-condition
public AndCondition( 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.And, _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
- LinkClickEvent.cs
- recordstatescratchpad.cs
- CodeMemberMethod.cs
- IdentityNotMappedException.cs
- PanelStyle.cs
- RequestCachePolicyConverter.cs
- LinearGradientBrush.cs
- FramingEncoders.cs
- CookielessHelper.cs
- SimplePropertyEntry.cs
- CanonicalFontFamilyReference.cs
- BamlResourceContent.cs
- PresentationSource.cs
- References.cs
- CompilationUnit.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- BinaryObjectInfo.cs
- ContentPlaceHolder.cs
- DataGridViewComboBoxColumn.cs
- SystemResources.cs
- KeyTimeConverter.cs
- AttributeTable.cs
- ToolStripMenuItem.cs
- _LoggingObject.cs
- DbSetClause.cs
- Label.cs
- DesignerProperties.cs
- DataGridViewCellStyleChangedEventArgs.cs
- Decoder.cs
- SafeProcessHandle.cs
- VirtualizedItemProviderWrapper.cs
- ALinqExpressionVisitor.cs
- MultiplexingFormatMapping.cs
- TextElementAutomationPeer.cs
- FocusManager.cs
- DataGridViewCellStyleConverter.cs
- OleDbEnumerator.cs
- DataGridViewCellStyle.cs
- MaskPropertyEditor.cs
- ParamArrayAttribute.cs
- BamlResourceContent.cs
- LightweightCodeGenerator.cs
- FileDataSourceCache.cs
- QueryInterceptorAttribute.cs
- SchemaName.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- GridViewSelectEventArgs.cs
- XmlSchemaCompilationSettings.cs
- XmlWhitespace.cs
- ReliabilityContractAttribute.cs
- ETagAttribute.cs
- CachingHintValidation.cs
- Update.cs
- DataGridViewCellEventArgs.cs
- ParserHooks.cs
- IUnknownConstantAttribute.cs
- OleDbTransaction.cs
- OdbcConnectionOpen.cs
- ToolStripContainer.cs
- ISAPIRuntime.cs
- InkCanvasSelection.cs
- XamlSerializer.cs
- DependencyObjectPropertyDescriptor.cs
- CorrelationToken.cs
- Simplifier.cs
- ColumnWidthChangingEvent.cs
- PluralizationService.cs
- SubpageParagraph.cs
- ProfilePropertySettings.cs
- ContainerParaClient.cs
- OleDbPropertySetGuid.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- regiisutil.cs
- KeyedCollection.cs
- BamlRecordReader.cs
- Group.cs
- FocusChangedEventArgs.cs
- sqlmetadatafactory.cs
- ExpandSegment.cs
- ImageField.cs
- ImageDrawing.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- Listbox.cs
- FacetDescriptionElement.cs
- DataServiceQueryProvider.cs
- HandlerBase.cs
- DataPagerField.cs
- FileDialog.cs
- HtmlContainerControl.cs
- SystemUdpStatistics.cs
- MessageLogger.cs
- DataIdProcessor.cs
- HttpServerVarsCollection.cs
- ResourceDescriptionAttribute.cs
- AbandonedMutexException.cs
- DefaultValidator.cs
- Enum.cs
- BasicCellRelation.cs
- FixedPageAutomationPeer.cs
- Processor.cs