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
- Rotation3DAnimationBase.cs
- OleDbEnumerator.cs
- ListBoxItemWrapperAutomationPeer.cs
- ReferencedAssembly.cs
- BuildResult.cs
- EncryptedData.cs
- GridViewColumnHeaderAutomationPeer.cs
- FaultContractAttribute.cs
- GridViewDeletedEventArgs.cs
- LinkArea.cs
- PositiveTimeSpanValidator.cs
- ConnectionsZone.cs
- JavaScriptSerializer.cs
- MissingMethodException.cs
- ZoomPercentageConverter.cs
- AssociationSet.cs
- Bidi.cs
- CategoryAttribute.cs
- QilFunction.cs
- SessionStateModule.cs
- ExceptionUtil.cs
- EmptyEnumerator.cs
- FastPropertyAccessor.cs
- TrustManager.cs
- MergeLocalizationDirectives.cs
- WindowsAuthenticationEventArgs.cs
- Scene3D.cs
- BinaryObjectWriter.cs
- ToolStripButton.cs
- Registry.cs
- DataBindEngine.cs
- AutoSizeComboBox.cs
- FixedPosition.cs
- ControlCachePolicy.cs
- IisNotInstalledException.cs
- UrlPropertyAttribute.cs
- CompositeCollection.cs
- LayoutEngine.cs
- ValueCollectionParameterReader.cs
- TypeNameParser.cs
- DownloadProgressEventArgs.cs
- StringCollection.cs
- ValidatedControlConverter.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- UIntPtr.cs
- OdbcEnvironmentHandle.cs
- CollectionBuilder.cs
- WindowsSolidBrush.cs
- AuthenticationSection.cs
- MetabaseServerConfig.cs
- SchemaAttDef.cs
- HttpProtocolReflector.cs
- TextSelection.cs
- SchemaConstraints.cs
- OpenTypeLayoutCache.cs
- DataSourceConverter.cs
- ColorConvertedBitmapExtension.cs
- DebuggerAttributes.cs
- DiscoveryProxy.cs
- NestPullup.cs
- SqlTriggerContext.cs
- TableChangeProcessor.cs
- DependencySource.cs
- TableRowGroup.cs
- CustomTypeDescriptor.cs
- Expander.cs
- HttpCachePolicyBase.cs
- EntitySqlException.cs
- HttpHandlerActionCollection.cs
- TextRunTypographyProperties.cs
- __ConsoleStream.cs
- Rectangle.cs
- ContextQuery.cs
- ProxyHelper.cs
- BitmapEffectGroup.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- ArrayHelper.cs
- HtmlControlAdapter.cs
- RelOps.cs
- MonitoringDescriptionAttribute.cs
- MergeFailedEvent.cs
- UIntPtr.cs
- Pkcs9Attribute.cs
- RayHitTestParameters.cs
- TransformerInfoCollection.cs
- ArraySet.cs
- HtmlListAdapter.cs
- GestureRecognitionResult.cs
- ContentPathSegment.cs
- ProtocolsSection.cs
- OpenTypeCommon.cs
- TabControl.cs
- GenericTypeParameterBuilder.cs
- FaultDescription.cs
- UIPropertyMetadata.cs
- TabPage.cs
- QualifiedCellIdBoolean.cs
- COM2IDispatchConverter.cs
- DataGridColumn.cs