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
- CollaborationHelperFunctions.cs
- DesignerExtenders.cs
- StateManagedCollection.cs
- NumericPagerField.cs
- CodeDomDesignerLoader.cs
- CustomAttribute.cs
- wgx_exports.cs
- StrokeNodeOperations.cs
- Queue.cs
- SizeChangedEventArgs.cs
- TabControlAutomationPeer.cs
- ArrayList.cs
- LinqDataSourceInsertEventArgs.cs
- MultipartIdentifier.cs
- QuerySelectOp.cs
- EdmPropertyAttribute.cs
- ControlBindingsConverter.cs
- RequestCache.cs
- AbsoluteQuery.cs
- IndexerHelper.cs
- _OSSOCK.cs
- TextWriter.cs
- OperationInfoBase.cs
- ISAPIWorkerRequest.cs
- SamlAdvice.cs
- XmlNotation.cs
- PriorityRange.cs
- SpeakProgressEventArgs.cs
- PerformanceCounterManager.cs
- PagesSection.cs
- SerializationEventsCache.cs
- SelectionList.cs
- ProxyFragment.cs
- PolicyLevel.cs
- CodeTypeConstructor.cs
- TimeZoneInfo.cs
- SchemaExporter.cs
- Statements.cs
- AdjustableArrowCap.cs
- ITextView.cs
- SerializerDescriptor.cs
- CaretElement.cs
- TypeValidationEventArgs.cs
- SafeProcessHandle.cs
- WebPartHeaderCloseVerb.cs
- ToolBarButton.cs
- CompiledIdentityConstraint.cs
- LassoHelper.cs
- SolidColorBrush.cs
- XmlSequenceWriter.cs
- NavigationWindow.cs
- OleDbConnectionInternal.cs
- DbProviderFactoriesConfigurationHandler.cs
- ListViewPagedDataSource.cs
- UrlPropertyAttribute.cs
- DrawListViewItemEventArgs.cs
- DataExpression.cs
- ControlTemplate.cs
- DependencyPropertyHelper.cs
- PropertyEmitterBase.cs
- ButtonChrome.cs
- HelpInfo.cs
- prompt.cs
- PartEditor.cs
- ToolStripStatusLabel.cs
- WeakReferenceList.cs
- WebMessageFormatHelper.cs
- XamlSerializationHelper.cs
- CrossContextChannel.cs
- SqlClientMetaDataCollectionNames.cs
- TypefaceCollection.cs
- ItemsChangedEventArgs.cs
- MergeLocalizationDirectives.cs
- AssemblyCache.cs
- StateWorkerRequest.cs
- IncrementalReadDecoders.cs
- OracleFactory.cs
- SchemaType.cs
- CallbackValidator.cs
- Rect3D.cs
- StringUtil.cs
- DataRowExtensions.cs
- AssemblyCache.cs
- NegatedConstant.cs
- MarshalDirectiveException.cs
- RenderData.cs
- EntityContainerEmitter.cs
- SystemIPv4InterfaceProperties.cs
- _ProxyChain.cs
- RangeValidator.cs
- XmlBindingWorker.cs
- RoutedPropertyChangedEventArgs.cs
- MenuItem.cs
- ControlPaint.cs
- XDeferredAxisSource.cs
- CodeComment.cs
- Keywords.cs
- Matrix3D.cs
- DynamicAttribute.cs
- Menu.cs