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
- DispatcherExceptionFilterEventArgs.cs
- MonthCalendarDesigner.cs
- ListenerConfig.cs
- BrushValueSerializer.cs
- TextLineBreak.cs
- StringDictionaryWithComparer.cs
- QilFunction.cs
- TraceData.cs
- ADConnectionHelper.cs
- DataStreams.cs
- EntityCommandCompilationException.cs
- TreeNode.cs
- EventDrivenDesigner.cs
- ThicknessConverter.cs
- ComplexTypeEmitter.cs
- RepeatBehavior.cs
- DataError.cs
- SqlUserDefinedTypeAttribute.cs
- BufferModeSettings.cs
- CodeAccessSecurityEngine.cs
- InputManager.cs
- ExpressionBuilder.cs
- DirectionalLight.cs
- DefaultExpressionVisitor.cs
- Bits.cs
- KeyGestureConverter.cs
- KeyEventArgs.cs
- InplaceBitmapMetadataWriter.cs
- ResXResourceReader.cs
- PreviewKeyDownEventArgs.cs
- UrlMappingsModule.cs
- HtmlLink.cs
- ForwardPositionQuery.cs
- CodeSpit.cs
- HtmlElementErrorEventArgs.cs
- Calendar.cs
- XmlText.cs
- ConstraintEnumerator.cs
- FixedFindEngine.cs
- DockingAttribute.cs
- RC2.cs
- CodeTypeDelegate.cs
- EventLogPropertySelector.cs
- SerializationInfo.cs
- SQLDateTimeStorage.cs
- DrawingContextDrawingContextWalker.cs
- Listbox.cs
- XmlReflectionImporter.cs
- CuspData.cs
- DiscoveryMessageSequenceGenerator.cs
- ValidatorUtils.cs
- Region.cs
- CaseStatement.cs
- LostFocusEventManager.cs
- EntityDataSourceQueryBuilder.cs
- WindowsGraphics2.cs
- ExtentCqlBlock.cs
- ContextProperty.cs
- UiaCoreTypesApi.cs
- Symbol.cs
- CalendarDataBindingHandler.cs
- SQLDouble.cs
- ReceiveCompletedEventArgs.cs
- Error.cs
- SelectionPattern.cs
- __ConsoleStream.cs
- ToolbarAUtomationPeer.cs
- StructuralCache.cs
- ListSortDescriptionCollection.cs
- BaseUriHelper.cs
- XsltLibrary.cs
- HwndHost.cs
- ModelUtilities.cs
- BrowserCapabilitiesFactory.cs
- StaticFileHandler.cs
- NavigationPropertyEmitter.cs
- ComponentCache.cs
- RijndaelManaged.cs
- RequestQueue.cs
- BaseCodePageEncoding.cs
- DrawingContextDrawingContextWalker.cs
- HostVisual.cs
- SqlClientPermission.cs
- InteropDesigner.xaml.cs
- ReliableMessagingVersionConverter.cs
- FindCompletedEventArgs.cs
- ValidatorCompatibilityHelper.cs
- XmlElement.cs
- NetworkStream.cs
- ConditionalAttribute.cs
- TreeWalker.cs
- TextTreePropertyUndoUnit.cs
- BitmapCodecInfo.cs
- InstancePersistenceException.cs
- WindowsStreamSecurityUpgradeProvider.cs
- BatchWriter.cs
- UIElement3D.cs
- SchemaCollectionCompiler.cs
- ProvideValueServiceProvider.cs
- Vector.cs