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
- StreamInfo.cs
- OdbcConnectionFactory.cs
- DesignerDataRelationship.cs
- CodeGeneratorOptions.cs
- XhtmlTextWriter.cs
- Addressing.cs
- DataGridViewAddColumnDialog.cs
- KnownTypeAttribute.cs
- webclient.cs
- ProjectedSlot.cs
- TCPClient.cs
- DesignTimeVisibleAttribute.cs
- TableRowCollection.cs
- exports.cs
- CacheEntry.cs
- EarlyBoundInfo.cs
- WeakReadOnlyCollection.cs
- BindingList.cs
- PageAdapter.cs
- WebPartEditorOkVerb.cs
- DataGridViewCellValueEventArgs.cs
- NetTcpBindingElement.cs
- XmlNodeReader.cs
- CriticalExceptions.cs
- HttpApplicationStateBase.cs
- TiffBitmapEncoder.cs
- SafeFileMappingHandle.cs
- FontFamilyConverter.cs
- UIElement.cs
- RolePrincipal.cs
- BoolExpr.cs
- ButtonColumn.cs
- FieldToken.cs
- ScrollBar.cs
- WindowPatternIdentifiers.cs
- ZipFileInfoCollection.cs
- SafeNativeMethodsOther.cs
- SortKey.cs
- ISAPIRuntime.cs
- DataGridViewTopLeftHeaderCell.cs
- Hyperlink.cs
- DynamicValueConverter.cs
- WebRequestModulesSection.cs
- HttpCookie.cs
- DataServiceRequestException.cs
- XmlDataDocument.cs
- HMACRIPEMD160.cs
- ResourceReader.cs
- ReflectionHelper.cs
- TextServicesCompartmentContext.cs
- processwaithandle.cs
- HandlerFactoryWrapper.cs
- LinqDataSourceInsertEventArgs.cs
- CalculatedColumn.cs
- InternalDispatchObject.cs
- CapabilitiesState.cs
- OutputCacheSection.cs
- EntityDataSourceState.cs
- AlignmentYValidation.cs
- ObjectDataSourceFilteringEventArgs.cs
- DataKeyArray.cs
- DataStreamFromComStream.cs
- Pkcs9Attribute.cs
- SiteMapSection.cs
- StructuredProperty.cs
- HandledMouseEvent.cs
- PersonalizableTypeEntry.cs
- DynamicMethod.cs
- FileIOPermission.cs
- CaseInsensitiveHashCodeProvider.cs
- XmlCharCheckingReader.cs
- PhysicalFontFamily.cs
- Membership.cs
- DispatcherObject.cs
- SharedUtils.cs
- MouseOverProperty.cs
- DataGridViewCellFormattingEventArgs.cs
- XmlHierarchyData.cs
- BuildResult.cs
- DataGridViewLayoutData.cs
- OleDbReferenceCollection.cs
- SiteMapNodeItem.cs
- DataColumnMappingCollection.cs
- GlyphRunDrawing.cs
- ClientSettings.cs
- CodeMethodReturnStatement.cs
- BindingGraph.cs
- KnownBoxes.cs
- NullReferenceException.cs
- TypeForwardedFromAttribute.cs
- EncoderNLS.cs
- TailPinnedEventArgs.cs
- Splitter.cs
- InvalidEnumArgumentException.cs
- RoleServiceManager.cs
- StringFreezingAttribute.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- DataColumn.cs
- ScopelessEnumAttribute.cs
- TreeNodeCollection.cs