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
- BindingManagerDataErrorEventArgs.cs
- QilInvokeLateBound.cs
- Font.cs
- BuildProvidersCompiler.cs
- NumericUpDownAccelerationCollection.cs
- ServiceOperationParameter.cs
- ThreadStartException.cs
- DataColumnPropertyDescriptor.cs
- TypeBuilder.cs
- HtmlTableCellCollection.cs
- ParallelTimeline.cs
- Pkcs9Attribute.cs
- MultipartContentParser.cs
- TreeNodeStyle.cs
- EncryptedPackage.cs
- newinstructionaction.cs
- StringKeyFrameCollection.cs
- UnsafeNativeMethods.cs
- HtmlInputImage.cs
- ComponentConverter.cs
- CreateUserErrorEventArgs.cs
- ImageCreator.cs
- TypeNameParser.cs
- StringStorage.cs
- BuildProviderAppliesToAttribute.cs
- SoapEnumAttribute.cs
- NameValueConfigurationCollection.cs
- KeyedQueue.cs
- DataKeyArray.cs
- TextCompositionEventArgs.cs
- HttpCapabilitiesEvaluator.cs
- ServiceModelSecurityTokenRequirement.cs
- DynamicPropertyReader.cs
- SmtpException.cs
- ColorAnimationBase.cs
- XmlEnumAttribute.cs
- EventProvider.cs
- DiagnosticTrace.cs
- XamlReader.cs
- TypeBinaryExpression.cs
- MailWriter.cs
- CategoryEditor.cs
- KeyInterop.cs
- SHA1Managed.cs
- ReadOnlyDataSourceView.cs
- GPRECTF.cs
- DataStorage.cs
- _ConnectionGroup.cs
- EntityKey.cs
- BridgeDataReader.cs
- ExpressionBuilder.cs
- coordinatorfactory.cs
- DataGridState.cs
- InfoCardProofToken.cs
- WebPartDeleteVerb.cs
- DataGridViewCellFormattingEventArgs.cs
- ParentUndoUnit.cs
- TextParagraphProperties.cs
- XamlStream.cs
- CompositeDataBoundControl.cs
- HttpProfileGroupBase.cs
- TreeNodeConverter.cs
- ValueQuery.cs
- CommandID.cs
- Converter.cs
- RelationalExpressions.cs
- AutomationEvent.cs
- PathFigure.cs
- ScriptControl.cs
- BitmapDownload.cs
- SpecialNameAttribute.cs
- MarkupExtensionParser.cs
- DurableServiceAttribute.cs
- BitmapEncoder.cs
- StrokeDescriptor.cs
- ConfigXmlAttribute.cs
- MainMenu.cs
- SwitchDesigner.xaml.cs
- SQLUtility.cs
- SiteMap.cs
- ActivityBuilder.cs
- HttpHeaderCollection.cs
- EntityClientCacheEntry.cs
- ResourcePart.cs
- Sql8ExpressionRewriter.cs
- CompilerWrapper.cs
- UnknownWrapper.cs
- ConfigsHelper.cs
- DataGridViewRowCancelEventArgs.cs
- StateMachineExecutionState.cs
- Operators.cs
- Cursors.cs
- LogicalMethodInfo.cs
- WebScriptEnablingBehavior.cs
- ItemList.cs
- _ConnectOverlappedAsyncResult.cs
- FloatMinMaxAggregationOperator.cs
- RemotingServices.cs
- DataGridViewTextBoxCell.cs
- VolatileEnlistmentState.cs