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
- SystemWebSectionGroup.cs
- XPathMultyIterator.cs
- AuthenticationService.cs
- Stylesheet.cs
- TouchesCapturedWithinProperty.cs
- IntSecurity.cs
- SoapInteropTypes.cs
- TextParagraph.cs
- TabControlEvent.cs
- AspCompat.cs
- XmlNodeChangedEventManager.cs
- SecurityManager.cs
- Win32Interop.cs
- Invariant.cs
- TypeViewSchema.cs
- SqlCommandSet.cs
- FrameworkObject.cs
- IndexedEnumerable.cs
- EntityTypeBase.cs
- OleServicesContext.cs
- Vector3DKeyFrameCollection.cs
- FtpWebRequest.cs
- Transform3DGroup.cs
- ByteConverter.cs
- SerializableAttribute.cs
- ResourceWriter.cs
- ConnectorDragDropGlyph.cs
- Types.cs
- WebDescriptionAttribute.cs
- FullTextLine.cs
- Int32Storage.cs
- GridViewRowCollection.cs
- GroupByQueryOperator.cs
- NativeRightsManagementAPIsStructures.cs
- DecoderBestFitFallback.cs
- CharacterBufferReference.cs
- ValueProviderWrapper.cs
- SoapAttributeAttribute.cs
- ColorEditor.cs
- DictionaryEntry.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- PagerSettings.cs
- Peer.cs
- DataGridViewRowPostPaintEventArgs.cs
- EntityDataSourceDesignerHelper.cs
- MetadataArtifactLoaderComposite.cs
- ExternalCalls.cs
- DataGridViewAddColumnDialog.cs
- ElementHostAutomationPeer.cs
- SmtpNegotiateAuthenticationModule.cs
- BevelBitmapEffect.cs
- CalendarAutoFormatDialog.cs
- TargetInvocationException.cs
- TextControl.cs
- LinqDataSourceContextEventArgs.cs
- WebPartTransformer.cs
- StylusPoint.cs
- BoundPropertyEntry.cs
- ActiveXContainer.cs
- TranslateTransform3D.cs
- MSG.cs
- OciEnlistContext.cs
- Point3DCollectionConverter.cs
- ReturnEventArgs.cs
- LinqDataSourceUpdateEventArgs.cs
- Module.cs
- ImportContext.cs
- DbCommandDefinition.cs
- XomlSerializationHelpers.cs
- Parameter.cs
- ListBoxDesigner.cs
- DbConnectionPool.cs
- NotifyParentPropertyAttribute.cs
- TextFindEngine.cs
- Decoder.cs
- TextTreeTextNode.cs
- XmlAttributeHolder.cs
- DoubleCollection.cs
- TextDpi.cs
- OpacityConverter.cs
- CheckBoxDesigner.cs
- ListQueryResults.cs
- BinaryNode.cs
- DeviceOverridableAttribute.cs
- SingleObjectCollection.cs
- Visual3DCollection.cs
- RSAPKCS1SignatureDeformatter.cs
- KeysConverter.cs
- DbProviderServices.cs
- Transform.cs
- DesignerSerializerAttribute.cs
- UIElementHelper.cs
- Item.cs
- SafeCoTaskMem.cs
- DependencyPropertyKey.cs
- XmlBaseReader.cs
- XmlTextReader.cs
- ColumnMap.cs
- ClientTargetSection.cs
- SamlDoNotCacheCondition.cs