Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / UIAutomation / UIAutomationClient / System / Windows / Automation / OrCondition.cs / 1305600 / OrCondition.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description:
//
// History:
// 10/14/2003 : BrendanM - 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 OrCondition : Condition
#else
public class OrCondition : Condition
#endif
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
#region Constructors
///
/// Constructor to create a condition that is true if any of the sub-conditions are true
///
/// One or more sub-condition
public OrCondition( 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.Or, _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
- CompiledQueryCacheEntry.cs
- DecoderExceptionFallback.cs
- Config.cs
- ScriptReferenceEventArgs.cs
- TextBlockAutomationPeer.cs
- SqlDataSourceFilteringEventArgs.cs
- PassportAuthenticationModule.cs
- UnsafeNativeMethodsCLR.cs
- SecurityRuntime.cs
- EntitySqlQueryBuilder.cs
- Font.cs
- FormClosedEvent.cs
- DnsCache.cs
- InputScopeNameConverter.cs
- StatusBarDesigner.cs
- XmlQualifiedNameTest.cs
- AsyncStreamReader.cs
- ExtendedPropertyInfo.cs
- SessionEndingCancelEventArgs.cs
- PrintDialogDesigner.cs
- CharKeyFrameCollection.cs
- LinqDataSourceHelper.cs
- ConfigXmlDocument.cs
- Point3D.cs
- HttpConfigurationSystem.cs
- ServiceDescriptions.cs
- DataKey.cs
- CapabilitiesState.cs
- KeyValueConfigurationElement.cs
- COM2ColorConverter.cs
- SafeBitVector32.cs
- CommonObjectSecurity.cs
- _NtlmClient.cs
- EditCommandColumn.cs
- SymLanguageType.cs
- Label.cs
- IPAddress.cs
- TextServicesManager.cs
- WorkflowOperationFault.cs
- _ServiceNameStore.cs
- MSAAWinEventWrap.cs
- MetricEntry.cs
- PathFigureCollectionValueSerializer.cs
- XmlDictionaryReader.cs
- MappingModelBuildProvider.cs
- BitmapMetadataBlob.cs
- MergeEnumerator.cs
- ResourcePart.cs
- ResourceDefaultValueAttribute.cs
- DefaultValidator.cs
- FamilyMapCollection.cs
- TextChange.cs
- ProfileParameter.cs
- EditorPartCollection.cs
- WindowsFormsHelpers.cs
- FontFamily.cs
- ValidatingReaderNodeData.cs
- StringAnimationUsingKeyFrames.cs
- CharacterBuffer.cs
- ResourceKey.cs
- DataGridViewComboBoxColumn.cs
- Dump.cs
- RemotingException.cs
- OrderablePartitioner.cs
- SslStreamSecurityElement.cs
- ItemCollection.cs
- HttpWebResponse.cs
- HttpResponseWrapper.cs
- Inflater.cs
- ConfigurationStrings.cs
- SecureStringHasher.cs
- BuildResult.cs
- IDispatchConstantAttribute.cs
- DataGridHeaderBorder.cs
- TransformerInfo.cs
- DataKeyCollection.cs
- CompositionDesigner.cs
- OdbcConnectionFactory.cs
- basemetadatamappingvisitor.cs
- DataGridViewCheckBoxColumn.cs
- Win32Interop.cs
- NameValuePair.cs
- DataGridViewCellCancelEventArgs.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- XPathAncestorIterator.cs
- EntityDataSourceMemberPath.cs
- PowerStatus.cs
- SecUtil.cs
- PathParser.cs
- Duration.cs
- OracleMonthSpan.cs
- TypedReference.cs
- MenuItem.cs
- DockProviderWrapper.cs
- BrowserCapabilitiesCompiler.cs
- RtfToXamlLexer.cs
- SqlConnectionString.cs
- ZoneMembershipCondition.cs
- SessionStateModule.cs
- wmiprovider.cs