Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PreservationFileWriter.cs
- XmlSerializer.cs
- ObjectListCommandCollection.cs
- SizeIndependentAnimationStorage.cs
- ProxyHwnd.cs
- ParameterDataSourceExpression.cs
- WebPartTransformerAttribute.cs
- Transaction.cs
- LinkedResource.cs
- DecimalAnimationBase.cs
- ProcessDesigner.cs
- ZipIOModeEnforcingStream.cs
- SimpleWebHandlerParser.cs
- CalloutQueueItem.cs
- ClientApiGenerator.cs
- MimeTypeAttribute.cs
- wgx_render.cs
- SafeViewOfFileHandle.cs
- InstanceBehavior.cs
- ExclusiveTcpListener.cs
- HuffmanTree.cs
- ColumnResizeAdorner.cs
- FixedSOMLineRanges.cs
- ServiceObjectContainer.cs
- ParsedAttributeCollection.cs
- KeyPullup.cs
- WeakReferenceKey.cs
- MenuCommand.cs
- UserControlAutomationPeer.cs
- MembershipUser.cs
- ServiceMemoryGates.cs
- Pen.cs
- XamlTypeMapper.cs
- XPathNode.cs
- Soap.cs
- GradientBrush.cs
- XPathNodeInfoAtom.cs
- ComboBoxHelper.cs
- BitmapPalettes.cs
- ScaleTransform.cs
- CodeLinePragma.cs
- LinearKeyFrames.cs
- RecordBuilder.cs
- Shape.cs
- ListCommandEventArgs.cs
- Stacktrace.cs
- StylusPointPropertyUnit.cs
- dataSvcMapFileLoader.cs
- CompileLiteralTextParser.cs
- ColorTranslator.cs
- IdnMapping.cs
- ActivityTypeResolver.xaml.cs
- XmlSchemaObjectCollection.cs
- MediaCommands.cs
- ResourceKey.cs
- TextAutomationPeer.cs
- DataGridViewButtonColumn.cs
- ShowExpandedMultiValueConverter.cs
- BitmapFrameEncode.cs
- FixedNode.cs
- DataGridViewColumnHeaderCell.cs
- PageThemeParser.cs
- DBNull.cs
- SortDescription.cs
- WsdlBuildProvider.cs
- PersonalizablePropertyEntry.cs
- XmlBindingWorker.cs
- wgx_render.cs
- BuildManager.cs
- NameTable.cs
- FixedSOMLineRanges.cs
- Codec.cs
- WebPartConnectionsCloseVerb.cs
- RepeatButtonAutomationPeer.cs
- UrlMappingCollection.cs
- FontFaceLayoutInfo.cs
- SymmetricAlgorithm.cs
- SiteMapNodeItem.cs
- Compiler.cs
- DataGridViewCellMouseEventArgs.cs
- TemplatePartAttribute.cs
- BuildManager.cs
- EventLogEntry.cs
- MenuItemAutomationPeer.cs
- ExtensibleClassFactory.cs
- CollectionDataContractAttribute.cs
- SignatureToken.cs
- EventSourceCreationData.cs
- AsyncPostBackErrorEventArgs.cs
- EmptyStringExpandableObjectConverter.cs
- SafeCertificateContext.cs
- CommonObjectSecurity.cs
- RemoveStoryboard.cs
- PropertyPathConverter.cs
- TemplateApplicationHelper.cs
- StorageComplexTypeMapping.cs
- DataGridViewCellValidatingEventArgs.cs
- DataRowView.cs
- BooleanFunctions.cs
- PathSegment.cs