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
- DataGridHeaderBorder.cs
- FontStyle.cs
- DataGridViewToolTip.cs
- BidOverLoads.cs
- TemplateAction.cs
- ContainerControl.cs
- securitymgrsite.cs
- InputScopeAttribute.cs
- EpmTargetTree.cs
- SchemaImporterExtensionsSection.cs
- dbdatarecord.cs
- UIElementIsland.cs
- DbDeleteCommandTree.cs
- SerialStream.cs
- SafeCryptoHandles.cs
- EncodingStreamWrapper.cs
- XmlMembersMapping.cs
- XmlTypeMapping.cs
- EdgeModeValidation.cs
- FullTextState.cs
- PermissionSetEnumerator.cs
- ViewBox.cs
- StateWorkerRequest.cs
- DurableTimerExtension.cs
- DataControlFieldHeaderCell.cs
- DataRowCollection.cs
- WindowsSpinner.cs
- TokenBasedSetEnumerator.cs
- Attributes.cs
- ScriptingAuthenticationServiceSection.cs
- PlainXmlWriter.cs
- RuleSettingsCollection.cs
- BStrWrapper.cs
- TableLayoutColumnStyleCollection.cs
- AnimatedTypeHelpers.cs
- SchemaConstraints.cs
- RegexParser.cs
- TripleDES.cs
- ConstructorNeedsTagAttribute.cs
- TableCell.cs
- InstanceData.cs
- TraceData.cs
- ArgIterator.cs
- MimeMapping.cs
- SiteMapDataSource.cs
- CallSiteBinder.cs
- CustomAttribute.cs
- AffineTransform3D.cs
- DataControlButton.cs
- JavaScriptSerializer.cs
- RemotingSurrogateSelector.cs
- DrawItemEvent.cs
- SqlResolver.cs
- X509Extension.cs
- ExchangeUtilities.cs
- CodeGen.cs
- hebrewshape.cs
- DivideByZeroException.cs
- BitmapMetadataEnumerator.cs
- CaseInsensitiveComparer.cs
- ParallelDesigner.cs
- _FtpControlStream.cs
- SrgsToken.cs
- CustomExpression.cs
- CultureTableRecord.cs
- WebSysDescriptionAttribute.cs
- XmlSchemaNotation.cs
- Stack.cs
- ValidatingReaderNodeData.cs
- Empty.cs
- SettingsSection.cs
- CharEnumerator.cs
- safesecurityhelperavalon.cs
- FixedSOMTableRow.cs
- ArraySegment.cs
- Rotation3D.cs
- PartitionerStatic.cs
- DataGridColumn.cs
- RepeaterItemCollection.cs
- RtfToXamlLexer.cs
- CollectionChangedEventManager.cs
- OrthographicCamera.cs
- BaseTemplateBuildProvider.cs
- GatewayIPAddressInformationCollection.cs
- TextFormatterImp.cs
- IntSecurity.cs
- GACIdentityPermission.cs
- ListViewGroupConverter.cs
- LoginView.cs
- ArgIterator.cs
- XPathAncestorIterator.cs
- HttpInputStream.cs
- XmlBoundElement.cs
- NameValuePair.cs
- COM2FontConverter.cs
- Utils.cs
- AutomationEvent.cs
- DirtyTextRange.cs
- MimeTypePropertyAttribute.cs
- SoapExtensionStream.cs