Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Activities / Code.cs / 1305376 / Code.cs
namespace System.Workflow.Activities { using System; using System.Text; using System.Reflection; using System.Collections; using System.CodeDom; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Design; using System.Workflow.ComponentModel.Serialization; using System.Collections.Generic; using System.Workflow.ComponentModel.Compiler; [SRDescription(SR.CodeActivityDescription)] [ToolboxItem(typeof(ActivityToolboxItem))] [Designer(typeof(CodeDesigner), typeof(IDesigner))] [ToolboxBitmap(typeof(CodeActivity), "Resources.code.png")] [DefaultEvent("ExecuteCode")] [SRCategory(SR.Standard)] [ActivityValidator(typeof(CodeActivityValidator))] public sealed class CodeActivity : Activity { #region Constructors public CodeActivity() { } public CodeActivity(string name) : base(name) { } #endregion public static readonly DependencyProperty ExecuteCodeEvent = DependencyProperty.Register("ExecuteCode", typeof(EventHandler), typeof(CodeActivity)); protected override sealed ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { base.RaiseEvent(CodeActivity.ExecuteCodeEvent, this, EventArgs.Empty); return ActivityExecutionStatus.Closed; } [SRCategory(SR.Handlers)] [SRDescription(SR.UserCodeHandlerDescr)] [MergableProperty(false)] public event EventHandler ExecuteCode { add { base.AddHandler(ExecuteCodeEvent, value); } remove { base.RemoveHandler(ExecuteCodeEvent, value); } } private class CodeActivityValidator : ActivityValidator { public override ValidationErrorCollection Validate(ValidationManager manager, object obj) { ValidationErrorCollection errors = new ValidationErrorCollection(); CodeActivity code = obj as CodeActivity; if (code == null) throw new InvalidOperationException(); // This violates the P || C validation condition, but we are compiling with csc.exe here! if (code.GetInvocationList(CodeActivity.ExecuteCodeEvent).Length == 0 && code.GetBinding(CodeActivity.ExecuteCodeEvent) == null) { Hashtable hashtable = code.GetValue(WorkflowMarkupSerializer.EventsProperty) as Hashtable; if(hashtable == null || hashtable["ExecuteCode"] == null) errors.Add(ValidationError.GetNotSetValidationError("ExecuteCode")); } errors.AddRange(base.Validate(manager, obj)); return errors; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Workflow.Activities { using System; using System.Text; using System.Reflection; using System.Collections; using System.CodeDom; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Design; using System.Workflow.ComponentModel.Serialization; using System.Collections.Generic; using System.Workflow.ComponentModel.Compiler; [SRDescription(SR.CodeActivityDescription)] [ToolboxItem(typeof(ActivityToolboxItem))] [Designer(typeof(CodeDesigner), typeof(IDesigner))] [ToolboxBitmap(typeof(CodeActivity), "Resources.code.png")] [DefaultEvent("ExecuteCode")] [SRCategory(SR.Standard)] [ActivityValidator(typeof(CodeActivityValidator))] public sealed class CodeActivity : Activity { #region Constructors public CodeActivity() { } public CodeActivity(string name) : base(name) { } #endregion public static readonly DependencyProperty ExecuteCodeEvent = DependencyProperty.Register("ExecuteCode", typeof(EventHandler), typeof(CodeActivity)); protected override sealed ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { base.RaiseEvent(CodeActivity.ExecuteCodeEvent, this, EventArgs.Empty); return ActivityExecutionStatus.Closed; } [SRCategory(SR.Handlers)] [SRDescription(SR.UserCodeHandlerDescr)] [MergableProperty(false)] public event EventHandler ExecuteCode { add { base.AddHandler(ExecuteCodeEvent, value); } remove { base.RemoveHandler(ExecuteCodeEvent, value); } } private class CodeActivityValidator : ActivityValidator { public override ValidationErrorCollection Validate(ValidationManager manager, object obj) { ValidationErrorCollection errors = new ValidationErrorCollection(); CodeActivity code = obj as CodeActivity; if (code == null) throw new InvalidOperationException(); // This violates the P || C validation condition, but we are compiling with csc.exe here! if (code.GetInvocationList (CodeActivity.ExecuteCodeEvent).Length == 0 && code.GetBinding(CodeActivity.ExecuteCodeEvent) == null) { Hashtable hashtable = code.GetValue(WorkflowMarkupSerializer.EventsProperty) as Hashtable; if(hashtable == null || hashtable["ExecuteCode"] == null) errors.Add(ValidationError.GetNotSetValidationError("ExecuteCode")); } errors.AddRange(base.Validate(manager, obj)); return errors; } } } } // 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
- SqlDataSourceView.cs
- ColumnTypeConverter.cs
- BooleanFacetDescriptionElement.cs
- WmiInstallComponent.cs
- PeerNameResolver.cs
- LinearGradientBrush.cs
- IImplicitResourceProvider.cs
- ReferenceTypeElement.cs
- WebSysDisplayNameAttribute.cs
- ProtocolsConfigurationHandler.cs
- CheckBoxPopupAdapter.cs
- Stopwatch.cs
- ServiceModelConfigurationSection.cs
- EdmConstants.cs
- RemotingSurrogateSelector.cs
- HostExecutionContextManager.cs
- TextSelectionHighlightLayer.cs
- RefreshInfo.cs
- StatusBar.cs
- HexParser.cs
- Int32RectConverter.cs
- SystemColorTracker.cs
- PackagePart.cs
- ChangeTracker.cs
- FormViewRow.cs
- SqlHelper.cs
- RestHandler.cs
- DataGridItem.cs
- coordinator.cs
- ContractReference.cs
- _CacheStreams.cs
- HttpDigestClientCredential.cs
- XmlSchemaCompilationSettings.cs
- LocatorBase.cs
- newinstructionaction.cs
- TileModeValidation.cs
- XmlToDatasetMap.cs
- EntityViewGenerationConstants.cs
- SqlWebEventProvider.cs
- HashHelper.cs
- DispatcherFrame.cs
- LifetimeServices.cs
- BufferedStream.cs
- RangeValidator.cs
- Quad.cs
- AuthenticationSchemesHelper.cs
- _IPv4Address.cs
- PropertyDescriptorCollection.cs
- TokenBasedSetEnumerator.cs
- TextParentUndoUnit.cs
- MediaPlayer.cs
- InputManager.cs
- KeyEventArgs.cs
- LinkLabel.cs
- RelatedPropertyManager.cs
- GuidelineSet.cs
- SinglePageViewer.cs
- RoleManagerSection.cs
- DesignSurfaceServiceContainer.cs
- DataGridViewComboBoxColumn.cs
- updatecommandorderer.cs
- WebReferenceCollection.cs
- SyndicationFeed.cs
- WebPartDisplayModeEventArgs.cs
- DataTableExtensions.cs
- RelationshipEndMember.cs
- DataColumnMappingCollection.cs
- AffineTransform3D.cs
- cookieexception.cs
- ZipPackagePart.cs
- SqlFlattener.cs
- CorrelationActionMessageFilter.cs
- ASCIIEncoding.cs
- DiscoveryClientReferences.cs
- BitmapEffect.cs
- SchemaImporter.cs
- DBCommand.cs
- ExpressionsCollectionEditor.cs
- TypedTableBase.cs
- Action.cs
- HandleInitializationContext.cs
- EdgeModeValidation.cs
- XpsS0ValidatingLoader.cs
- PseudoWebRequest.cs
- NotImplementedException.cs
- UnknownWrapper.cs
- RtfControls.cs
- BaseHashHelper.cs
- ResourceManager.cs
- StreamUpdate.cs
- SeverityFilter.cs
- DelegatedStream.cs
- ControlParameter.cs
- SingleAnimationBase.cs
- DependencyObjectType.cs
- WebServiceFaultDesigner.cs
- __Filters.cs
- AppDomain.cs
- XmlnsCompatibleWithAttribute.cs
- ScrollBar.cs