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
- SqlAliasesReferenced.cs
- ServiceNameCollection.cs
- InternalDuplexBindingElement.cs
- ValidatingPropertiesEventArgs.cs
- ProfileModule.cs
- ExtensibleClassFactory.cs
- JsonXmlDataContract.cs
- SizeKeyFrameCollection.cs
- HtmlElementCollection.cs
- SiblingIterators.cs
- EntityCommand.cs
- BaseHashHelper.cs
- OleDbStruct.cs
- ProbeMatchesApril2005.cs
- MetadataUtilsSmi.cs
- SrgsDocumentParser.cs
- SchemaImporterExtensionElement.cs
- FileSystemEventArgs.cs
- login.cs
- SchemaObjectWriter.cs
- _PooledStream.cs
- Dump.cs
- TreeNodeCollectionEditorDialog.cs
- HierarchicalDataBoundControlAdapter.cs
- AutoGeneratedFieldProperties.cs
- DesignRelation.cs
- ServicePoint.cs
- XmlNavigatorStack.cs
- XmlCustomFormatter.cs
- GeometryDrawing.cs
- LambdaCompiler.Generated.cs
- FrameworkPropertyMetadata.cs
- IpcClientManager.cs
- ViewManagerAttribute.cs
- AssemblyBuilder.cs
- HostedElements.cs
- DataSourceControlBuilder.cs
- _RequestLifetimeSetter.cs
- OletxCommittableTransaction.cs
- ModelTreeEnumerator.cs
- XamlBrushSerializer.cs
- DataGridViewControlCollection.cs
- TypeLoadException.cs
- DispatcherHooks.cs
- ObjectCloneHelper.cs
- LongCountAggregationOperator.cs
- FontUnitConverter.cs
- SparseMemoryStream.cs
- SqlBulkCopy.cs
- SmtpFailedRecipientsException.cs
- BitmapMetadata.cs
- HttpWriter.cs
- ViewPort3D.cs
- XmlRawWriter.cs
- DataObjectFieldAttribute.cs
- AxHostDesigner.cs
- ArgIterator.cs
- OleDbParameter.cs
- IncrementalReadDecoders.cs
- WebConfigurationManager.cs
- DataListItemCollection.cs
- CustomBindingElementCollection.cs
- MemberHolder.cs
- FormsIdentity.cs
- StylusDevice.cs
- ResourcesGenerator.cs
- StringUtil.cs
- XamlInterfaces.cs
- TreeViewEvent.cs
- SamlAuthorityBinding.cs
- AssemblyName.cs
- HtmlInputButton.cs
- FrameworkElement.cs
- EventListener.cs
- FormViewCommandEventArgs.cs
- ApplicationBuildProvider.cs
- UrlAuthorizationModule.cs
- ListItemCollection.cs
- XmlElement.cs
- DataObjectMethodAttribute.cs
- PropertySourceInfo.cs
- SingleAnimationUsingKeyFrames.cs
- ThrowHelper.cs
- SqlAliaser.cs
- MimeFormImporter.cs
- ObjectDataSourceSelectingEventArgs.cs
- DefaultValueAttribute.cs
- MarkupProperty.cs
- WebConfigurationHost.cs
- ErrorTableItemStyle.cs
- FontConverter.cs
- FixedSOMTableRow.cs
- RadioButton.cs
- ProfessionalColors.cs
- SecurityUtils.cs
- BitmapEncoder.cs
- VolatileEnlistmentMultiplexing.cs
- SymLanguageVendor.cs
- EdmComplexTypeAttribute.cs
- JsonEnumDataContract.cs