Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Validation / Constraint.cs / 1305376 / Constraint.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.Activities.Validation
{
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Runtime;
using System.Windows.Markup;
using System.Collections.ObjectModel;
public abstract class Constraint : NativeActivity
{
public const string ValidationErrorListPropertyName = "System.Activities.Validation.Constraint.ValidationErrorList";
internal const string ToValidateArgumentName = "ToValidate";
internal const string ValidationErrorListArgumentName = "ViolationList";
internal const string ToValidateContextArgumentName = "ToValidateContext";
RuntimeArgument toValidate;
RuntimeArgument violationList;
RuntimeArgument toValidateContext;
internal Constraint()
{
this.toValidate = new RuntimeArgument(ToValidateArgumentName, typeof(object), ArgumentDirection.In);
this.toValidateContext = new RuntimeArgument(ToValidateContextArgumentName, typeof(ValidationContext), ArgumentDirection.In);
this.violationList = new RuntimeArgument(ValidationErrorListArgumentName, typeof(IList), ArgumentDirection.Out);
}
public static void AddValidationError(NativeActivityContext context, ValidationError error)
{
List validationErrorList = context.Properties.Find(ValidationErrorListPropertyName) as List;
if (validationErrorList == null)
{
throw FxTrace.Exception.AsError(new InvalidOperationException(SR.AddValidationErrorMustBeCalledFromConstraint(typeof(Constraint).Name)));
}
validationErrorList.Add(error);
}
protected override void CacheMetadata(NativeActivityMetadata metadata)
{
metadata.SetArgumentsCollection(
new Collection
{
this.toValidate,
this.violationList,
this.toValidateContext
});
}
protected override void Execute(NativeActivityContext context)
{
object objectToValidate = this.toValidate.Get
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CustomWebEventKey.cs
- _PooledStream.cs
- KeyConverter.cs
- ImageBrush.cs
- MediaElement.cs
- XmlSerializationReader.cs
- ProcessInputEventArgs.cs
- Propagator.JoinPropagator.SubstitutingCloneVisitor.cs
- HttpRuntimeSection.cs
- SmtpAuthenticationManager.cs
- Ref.cs
- ThrowHelper.cs
- PasswordBox.cs
- LogSwitch.cs
- DynamicActivity.cs
- SelectionHighlightInfo.cs
- EncoderExceptionFallback.cs
- DataGridViewAccessibleObject.cs
- DataListCommandEventArgs.cs
- SqlStatistics.cs
- DataGridViewButtonColumn.cs
- SafeNativeMethodsCLR.cs
- BrowserPolicyValidator.cs
- ScriptComponentDescriptor.cs
- IItemContainerGenerator.cs
- SymbolEqualComparer.cs
- AnnotationObservableCollection.cs
- AutomationElementCollection.cs
- MergeFailedEvent.cs
- XmlSchemaObject.cs
- OAVariantLib.cs
- TimeSpanMinutesConverter.cs
- SelectedPathEditor.cs
- CodeParameterDeclarationExpressionCollection.cs
- RegexMatch.cs
- ObjectMemberMapping.cs
- Monitor.cs
- BezierSegment.cs
- NativeRecognizer.cs
- EdmToObjectNamespaceMap.cs
- SqlGatherConsumedAliases.cs
- Queue.cs
- FormatSettings.cs
- ModuleBuilder.cs
- TextEditorDragDrop.cs
- ViewStateModeByIdAttribute.cs
- CapabilitiesUse.cs
- TemplateControlParser.cs
- WsatConfiguration.cs
- SqlConnectionPoolGroupProviderInfo.cs
- PropertyValidationContext.cs
- PathTooLongException.cs
- MdbDataFileEditor.cs
- MappedMetaModel.cs
- ExtendedProtectionPolicy.cs
- HostVisual.cs
- RegionIterator.cs
- InfoCardAsymmetricCrypto.cs
- _emptywebproxy.cs
- _SslState.cs
- ThreadStaticAttribute.cs
- SendMailErrorEventArgs.cs
- Permission.cs
- BitStack.cs
- AdornerPresentationContext.cs
- TextTreeRootTextBlock.cs
- LinqToSqlWrapper.cs
- PropertyStore.cs
- cookiecontainer.cs
- SystemIPInterfaceStatistics.cs
- AnonymousIdentificationSection.cs
- ImportCatalogPart.cs
- CommandEventArgs.cs
- RemoteWebConfigurationHostStream.cs
- TemplateControlBuildProvider.cs
- MessagePropertyDescriptionCollection.cs
- ProtocolElementCollection.cs
- CodeFieldReferenceExpression.cs
- PreviewPageInfo.cs
- PageRanges.cs
- DiscoveryClientProtocol.cs
- BlockCollection.cs
- FontUnitConverter.cs
- ToolBarTray.cs
- LicenseException.cs
- AccessText.cs
- MetricEntry.cs
- NumberFunctions.cs
- RuleSet.cs
- DataGridViewAccessibleObject.cs
- StorageAssociationSetMapping.cs
- ObjectIDGenerator.cs
- MenuScrollingVisibilityConverter.cs
- Registry.cs
- TriState.cs
- DESCryptoServiceProvider.cs
- OleStrCAMarshaler.cs
- RayHitTestParameters.cs
- ServiceObjectContainer.cs
- HMACSHA256.cs