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
- HeaderCollection.cs
- KnownTypes.cs
- TextStore.cs
- IIS7UserPrincipal.cs
- ButtonBaseAdapter.cs
- PointCollectionConverter.cs
- GridItemPattern.cs
- ExtractedStateEntry.cs
- arclist.cs
- SystemKeyConverter.cs
- HtmlTableCell.cs
- RegexWriter.cs
- ClientSideQueueItem.cs
- ThreadPool.cs
- XmlSerializerVersionAttribute.cs
- FrugalList.cs
- XmlNodeChangedEventManager.cs
- PrimitiveXmlSerializers.cs
- WindowsScrollBar.cs
- FileNameEditor.cs
- AppModelKnownContentFactory.cs
- QualificationDataItem.cs
- MessageQueue.cs
- FileDialogPermission.cs
- SqlGatherConsumedAliases.cs
- QuadraticBezierSegment.cs
- TextBoxAutomationPeer.cs
- X509SecurityToken.cs
- JoinTreeSlot.cs
- EntitySetBaseCollection.cs
- RewritingProcessor.cs
- DbDeleteCommandTree.cs
- QuadraticEase.cs
- DesignerAdapterAttribute.cs
- AssemblyResourceLoader.cs
- SafePEFileHandle.cs
- Compilation.cs
- CodeSnippetStatement.cs
- PlaceHolder.cs
- ResXDataNode.cs
- sqlnorm.cs
- SoapUnknownHeader.cs
- FacetEnabledSchemaElement.cs
- BindingMemberInfo.cs
- TableItemPattern.cs
- IMembershipProvider.cs
- SettingsPropertyValueCollection.cs
- SchemaElementLookUpTableEnumerator.cs
- ListViewDeletedEventArgs.cs
- ImmutableCommunicationTimeouts.cs
- dataobject.cs
- TriggerAction.cs
- ManifestSignatureInformation.cs
- Calendar.cs
- QilReplaceVisitor.cs
- XsdDataContractImporter.cs
- AsynchronousChannel.cs
- DbDataRecord.cs
- Vector3DIndependentAnimationStorage.cs
- ToolboxBitmapAttribute.cs
- TimelineGroup.cs
- ToolZoneDesigner.cs
- CalendarButton.cs
- ObjectStateFormatter.cs
- SQLDateTimeStorage.cs
- ThreadStartException.cs
- SystemIPAddressInformation.cs
- OnOperation.cs
- IdnElement.cs
- ConsoleCancelEventArgs.cs
- CoreChannel.cs
- ComponentCache.cs
- HttpHandlerActionCollection.cs
- _ListenerAsyncResult.cs
- VerificationAttribute.cs
- ApplicationTrust.cs
- XPathNodeInfoAtom.cs
- ResourceLoader.cs
- DefaultValueConverter.cs
- CodeArrayIndexerExpression.cs
- RegistrationServices.cs
- CollectionViewProxy.cs
- regiisutil.cs
- CorePropertiesFilter.cs
- QilFunction.cs
- HandlerBase.cs
- SmtpLoginAuthenticationModule.cs
- DiscoveryReferences.cs
- messageonlyhwndwrapper.cs
- ListItemCollection.cs
- PrintPreviewControl.cs
- RadioButton.cs
- ListViewItemSelectionChangedEvent.cs
- HtmlDocument.cs
- CoreChannel.cs
- ThousandthOfEmRealDoubles.cs
- MultiView.cs
- XmlFormatWriterGenerator.cs
- SignatureHelper.cs
- Error.cs