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
- ActivityAction.cs
- DragCompletedEventArgs.cs
- HelpKeywordAttribute.cs
- SecurityAttributeGenerationHelper.cs
- _NetRes.cs
- WebPartActionVerb.cs
- TimeStampChecker.cs
- NonBatchDirectoryCompiler.cs
- SubclassTypeValidator.cs
- SqlDataSourceStatusEventArgs.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- SlipBehavior.cs
- EncryptedPackageFilter.cs
- CharacterMetrics.cs
- FlowNode.cs
- HitTestWithPointDrawingContextWalker.cs
- PageCatalogPart.cs
- DynamicMethod.cs
- SweepDirectionValidation.cs
- TablePattern.cs
- UnionCqlBlock.cs
- SpeechDetectedEventArgs.cs
- LogLogRecord.cs
- MLangCodePageEncoding.cs
- Misc.cs
- WebPartUserCapability.cs
- DiscoveryServerProtocol.cs
- DbConnectionPool.cs
- Pkcs7Recipient.cs
- MasterPage.cs
- DbConnectionPoolGroupProviderInfo.cs
- MetadataArtifactLoaderCompositeFile.cs
- ApplicationException.cs
- MenuItemBinding.cs
- DefaultBinder.cs
- CompilerErrorCollection.cs
- ContentElement.cs
- XPathNodeHelper.cs
- Application.cs
- FunctionCommandText.cs
- ReversePositionQuery.cs
- MetadataReference.cs
- XmlSchemaComplexType.cs
- IdentitySection.cs
- DataListItem.cs
- Frame.cs
- StateItem.cs
- ToolTipService.cs
- HMACSHA512.cs
- ParameterExpression.cs
- BooleanConverter.cs
- XmlAnyElementAttribute.cs
- DelegatingTypeDescriptionProvider.cs
- DbParameterCollectionHelper.cs
- MatrixAnimationUsingPath.cs
- BooleanSwitch.cs
- Relationship.cs
- AssociationType.cs
- ProcessInfo.cs
- Int32CAMarshaler.cs
- CqlWriter.cs
- ChildChangedEventArgs.cs
- StandardTransformFactory.cs
- SmtpSection.cs
- FrameworkContentElementAutomationPeer.cs
- BitmapFrameDecode.cs
- AxImporter.cs
- TrackingRecord.cs
- ComponentResourceKey.cs
- SelectionEditor.cs
- GridSplitterAutomationPeer.cs
- TypeBuilder.cs
- ErrorCodes.cs
- PublisherIdentityPermission.cs
- CompilerResults.cs
- AssemblyBuilder.cs
- DispatcherOperation.cs
- FieldAccessException.cs
- XamlTemplateSerializer.cs
- EncoderFallback.cs
- CurrencyManager.cs
- ThreadAttributes.cs
- DoubleLink.cs
- ManagementObjectCollection.cs
- SystemIcmpV6Statistics.cs
- Localizer.cs
- WebSysDescriptionAttribute.cs
- RegexReplacement.cs
- XslException.cs
- FontInfo.cs
- IResourceProvider.cs
- GeneralTransformGroup.cs
- XPathParser.cs
- SmtpMail.cs
- EventsTab.cs
- NativeMethods.cs
- XPathNavigator.cs
- ComProxy.cs
- FormClosingEvent.cs
- HijriCalendar.cs