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
- VisualTransition.cs
- TextModifierScope.cs
- ObjectPropertyMapping.cs
- ProgramNode.cs
- WebCategoryAttribute.cs
- Matrix.cs
- NullRuntimeConfig.cs
- XmlAttributeOverrides.cs
- DefaultValueMapping.cs
- CompilerCollection.cs
- Touch.cs
- SmiRecordBuffer.cs
- DataGridViewColumnEventArgs.cs
- EntityDataSourceContextDisposingEventArgs.cs
- Predicate.cs
- ACL.cs
- EventBuilder.cs
- RowUpdatingEventArgs.cs
- XpsS0ValidatingLoader.cs
- TypeUsageBuilder.cs
- MultiByteCodec.cs
- DesignTimeDataBinding.cs
- ButtonChrome.cs
- MachineKeySection.cs
- DependsOnAttribute.cs
- DesignerVerbCollection.cs
- SqlExpander.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- OracleCommandSet.cs
- InputProcessorProfiles.cs
- ResourceExpressionBuilder.cs
- AuthenticationServiceManager.cs
- SecurityResources.cs
- BindStream.cs
- IntegrationExceptionEventArgs.cs
- LocalClientSecuritySettingsElement.cs
- altserialization.cs
- RequiredFieldValidator.cs
- XDRSchema.cs
- MouseButton.cs
- MailAddressCollection.cs
- ListViewSortEventArgs.cs
- VisualBasicHelper.cs
- VariantWrapper.cs
- AutomationPattern.cs
- TypeFieldSchema.cs
- SoundPlayer.cs
- WindowHelperService.cs
- FileSystemWatcher.cs
- DefaultWorkflowSchedulerService.cs
- xmlglyphRunInfo.cs
- ExpandoObject.cs
- UIInitializationException.cs
- Trace.cs
- InstallerTypeAttribute.cs
- DrawListViewColumnHeaderEventArgs.cs
- DataGridViewCellPaintingEventArgs.cs
- WSHttpBindingCollectionElement.cs
- EnumConverter.cs
- DataGridViewElement.cs
- StreamWriter.cs
- FrameworkContentElement.cs
- ToolStripCustomTypeDescriptor.cs
- HtmlInputSubmit.cs
- WebPartDisplayModeEventArgs.cs
- LexicalChunk.cs
- TextEvent.cs
- MessageBox.cs
- XmlDocumentFieldSchema.cs
- EventProperty.cs
- MetadataUtilsSmi.cs
- TextBoxBaseDesigner.cs
- ReachPrintTicketSerializerAsync.cs
- ClientRuntimeConfig.cs
- WebBrowser.cs
- PersistenceProviderFactory.cs
- LocalizableAttribute.cs
- mda.cs
- log.cs
- TrackingProfileCache.cs
- ObjectListGeneralPage.cs
- _NegoState.cs
- SafeProcessHandle.cs
- HitTestWithPointDrawingContextWalker.cs
- SemanticKeyElement.cs
- View.cs
- Int32EqualityComparer.cs
- XsltArgumentList.cs
- ContentPlaceHolderDesigner.cs
- SQLInt32.cs
- IERequestCache.cs
- MetaChildrenColumn.cs
- HijriCalendar.cs
- PresentationTraceSources.cs
- NetworkStream.cs
- XDRSchema.cs
- DataGridViewAutoSizeModeEventArgs.cs
- ArraySegment.cs
- brushes.cs
- ListenerConfig.cs