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
- _UriSyntax.cs
- PerformanceCounters.cs
- HandlerFactoryWrapper.cs
- WebBrowserDocumentCompletedEventHandler.cs
- HttpHeaderCollection.cs
- WorkflowTransactionOptions.cs
- RepeatButtonAutomationPeer.cs
- ICspAsymmetricAlgorithm.cs
- DocumentPageView.cs
- ReceiveActivity.cs
- GuidConverter.cs
- BitConverter.cs
- RenderOptions.cs
- TrackingStringDictionary.cs
- AspProxy.cs
- GetMemberBinder.cs
- TextTreeUndo.cs
- GridViewColumnCollection.cs
- HttpWebRequestElement.cs
- DoubleLinkList.cs
- SystemIcons.cs
- SqlCacheDependencySection.cs
- XsdDateTime.cs
- ByteAnimationBase.cs
- CodeCommentStatement.cs
- categoryentry.cs
- TextEmbeddedObject.cs
- HtmlInputReset.cs
- HttpPostedFile.cs
- DataGridViewRowHeaderCell.cs
- GradientStopCollection.cs
- CSharpCodeProvider.cs
- ReferencedType.cs
- FtpWebRequest.cs
- RoleExceptions.cs
- GroupBoxAutomationPeer.cs
- ReaderOutput.cs
- CompiledRegexRunner.cs
- ResourcePool.cs
- WorkflowViewManager.cs
- Fx.cs
- grammarelement.cs
- Int64AnimationBase.cs
- SQLInt16.cs
- ItemAutomationPeer.cs
- VirtualPath.cs
- PageParserFilter.cs
- SqlStatistics.cs
- AutomationAttributeInfo.cs
- TileModeValidation.cs
- SHA256Managed.cs
- AuthorizationContext.cs
- MdImport.cs
- HostingEnvironmentSection.cs
- CustomLineCap.cs
- IPipelineRuntime.cs
- StrokeNodeOperations2.cs
- ApplicationContext.cs
- CompositeDesignerAccessibleObject.cs
- NameValueSectionHandler.cs
- DES.cs
- IncrementalHitTester.cs
- NoResizeHandleGlyph.cs
- DependencyPropertyKey.cs
- FrameworkElementAutomationPeer.cs
- PaperSize.cs
- AnnotationComponentManager.cs
- ContentDisposition.cs
- Control.cs
- MailWriter.cs
- AutomationProperties.cs
- DataSourceCacheDurationConverter.cs
- SspiSecurityToken.cs
- CodeBlockBuilder.cs
- PageCatalogPart.cs
- RemoteEndpointMessageProperty.cs
- FlowPosition.cs
- ConvertBinder.cs
- MachineSettingsSection.cs
- PropertySegmentSerializationProvider.cs
- DeviceSpecificChoice.cs
- WebUtil.cs
- PartBasedPackageProperties.cs
- InitializationEventAttribute.cs
- WSSecurityJan2004.cs
- StopStoryboard.cs
- Root.cs
- XmlReader.cs
- SiteMapNodeItem.cs
- OrderPreservingMergeHelper.cs
- EntityAdapter.cs
- NamespaceCollection.cs
- PointLightBase.cs
- ListViewAutomationPeer.cs
- DeobfuscatingStream.cs
- BitmapEffectrendercontext.cs
- AssociatedControlConverter.cs
- ConnectionsZone.cs
- ImageUrlEditor.cs
- ICollection.cs