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
- ConfigurationElementProperty.cs
- RadioButtonRenderer.cs
- Equal.cs
- DataGridViewButtonColumn.cs
- HtmlInputControl.cs
- EventArgs.cs
- StringFreezingAttribute.cs
- BaseEntityWrapper.cs
- dbdatarecord.cs
- PropertySegmentSerializationProvider.cs
- WebBrowserDocumentCompletedEventHandler.cs
- DataBoundControlHelper.cs
- StaticDataManager.cs
- ToolBar.cs
- TimelineGroup.cs
- COM2AboutBoxPropertyDescriptor.cs
- SerializerDescriptor.cs
- RoutedEvent.cs
- ScrollProviderWrapper.cs
- RuntimeHelpers.cs
- RectAnimationUsingKeyFrames.cs
- DynamicRendererThreadManager.cs
- DataGridViewColumnCollectionEditor.cs
- EventEntry.cs
- MailHeaderInfo.cs
- XmlHierarchicalDataSourceView.cs
- DataGridViewCellPaintingEventArgs.cs
- HelloMessageApril2005.cs
- WebBrowserContainer.cs
- FreezableDefaultValueFactory.cs
- WinOEToolBoxItem.cs
- TypeResolvingOptions.cs
- SqlIdentifier.cs
- ChangeBlockUndoRecord.cs
- PassportAuthenticationEventArgs.cs
- RevocationPoint.cs
- SspiHelper.cs
- Int16Converter.cs
- SelfSignedCertificate.cs
- AggregateNode.cs
- ExtendedProperty.cs
- TokenDescriptor.cs
- TypeDescriptionProvider.cs
- NameValuePair.cs
- Enum.cs
- CompensationTokenData.cs
- SqlWebEventProvider.cs
- Registry.cs
- RemotingServices.cs
- CodeRegionDirective.cs
- BehaviorEditorPart.cs
- NumberFormatInfo.cs
- PermissionSet.cs
- VisualBrush.cs
- JoinTreeSlot.cs
- TextServicesPropertyRanges.cs
- Quaternion.cs
- ExceptionUtil.cs
- IPAddress.cs
- LowerCaseStringConverter.cs
- XmlDataSourceView.cs
- ExpressionWriter.cs
- OletxDependentTransaction.cs
- MethodRental.cs
- WebHttpBindingCollectionElement.cs
- UnionCqlBlock.cs
- WindowsScroll.cs
- TypeDependencyAttribute.cs
- TypeSystem.cs
- XmlSchemaElement.cs
- Cursor.cs
- GridEntry.cs
- IPCCacheManager.cs
- ExpressionDumper.cs
- NetDataContractSerializer.cs
- LocalizationParserHooks.cs
- RangeExpression.cs
- MaxMessageSizeStream.cs
- Identifier.cs
- ProjectedSlot.cs
- PropertyMetadata.cs
- CompatibleIComparer.cs
- FigureHelper.cs
- SupportingTokenProviderSpecification.cs
- FileDialog.cs
- TextSelectionProcessor.cs
- FreezableCollection.cs
- DesignerImageAdapter.cs
- TypeElement.cs
- RealProxy.cs
- LocalizedNameDescriptionPair.cs
- ReadOnlyMetadataCollection.cs
- CompatibleComparer.cs
- WindowsUpDown.cs
- DynamicMethod.cs
- FormsAuthenticationUser.cs
- EntityDataSourceContainerNameItem.cs
- PeerFlooder.cs
- BooleanStorage.cs
- MailAddressCollection.cs