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
- TemplateBaseAction.cs
- LightweightCodeGenerator.cs
- CompiledIdentityConstraint.cs
- SamlAssertionDirectKeyIdentifierClause.cs
- COM2PropertyBuilderUITypeEditor.cs
- errorpatternmatcher.cs
- ProcessModuleCollection.cs
- ObjectDataSourceDesigner.cs
- HierarchicalDataBoundControlAdapter.cs
- AsymmetricSignatureFormatter.cs
- ImmutablePropertyDescriptorGridEntry.cs
- CallSiteBinder.cs
- EmbeddedMailObjectsCollection.cs
- TextTreeUndo.cs
- XmlnsDefinitionAttribute.cs
- ValueQuery.cs
- LocalFileSettingsProvider.cs
- TransformerInfoCollection.cs
- XPathBinder.cs
- DataSourceHelper.cs
- GroupBoxAutomationPeer.cs
- Lasso.cs
- ExpressionNormalizer.cs
- MsmqUri.cs
- WindowsListViewItemStartMenu.cs
- OleDbRowUpdatingEvent.cs
- ButtonStandardAdapter.cs
- ScopelessEnumAttribute.cs
- TemplateKeyConverter.cs
- WizardStepCollectionEditor.cs
- FrameworkTextComposition.cs
- ColorConverter.cs
- Operand.cs
- SqlDataSourceConfigureFilterForm.cs
- ProfileGroupSettings.cs
- TypeUsage.cs
- XmlSchemaInclude.cs
- HwndKeyboardInputProvider.cs
- Win32SafeHandles.cs
- WebScriptMetadataFormatter.cs
- HMACRIPEMD160.cs
- GradientBrush.cs
- TypeFieldSchema.cs
- TypeDescriptionProviderAttribute.cs
- DataControlFieldCollection.cs
- PerformanceCounterNameAttribute.cs
- WithStatement.cs
- HandledEventArgs.cs
- CopyCodeAction.cs
- RowUpdatingEventArgs.cs
- HasActivatableWorkflowEvent.cs
- HorizontalAlignConverter.cs
- ComponentChangedEvent.cs
- DataGridRow.cs
- bidPrivateBase.cs
- SqlStream.cs
- Repeater.cs
- ServicePointManager.cs
- HashCodeCombiner.cs
- RetriableClipboard.cs
- DescendentsWalker.cs
- cache.cs
- BaseTemplateBuildProvider.cs
- CancellableEnumerable.cs
- SecondaryViewProvider.cs
- OdbcInfoMessageEvent.cs
- Tokenizer.cs
- AttachedPropertyInfo.cs
- Attachment.cs
- Calendar.cs
- ToolStripSettings.cs
- DateTimeConverter.cs
- ClrPerspective.cs
- ProxyWebPartConnectionCollection.cs
- Panel.cs
- DynamicScriptObject.cs
- Double.cs
- CharUnicodeInfo.cs
- SourceFileBuildProvider.cs
- WhitespaceRuleLookup.cs
- Parameter.cs
- OutputCache.cs
- ResourceCategoryAttribute.cs
- Package.cs
- IgnoreSection.cs
- XmlSchemaSimpleTypeList.cs
- ManagementBaseObject.cs
- ConnectionPoolRegistry.cs
- EncryptedPackage.cs
- XmlDomTextWriter.cs
- Emitter.cs
- Rect3DConverter.cs
- SafeCryptContextHandle.cs
- CommunicationObjectFaultedException.cs
- DbFunctionCommandTree.cs
- VectorAnimation.cs
- DataBoundLiteralControl.cs
- HtmlHead.cs
- EventHandlersStore.cs
- MultiDataTrigger.cs