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
- TimelineGroup.cs
- TimeEnumHelper.cs
- WebPartConnectionsConfigureVerb.cs
- XmlSerializerSection.cs
- ModuleConfigurationInfo.cs
- TdsParserHelperClasses.cs
- ApplicationSecurityInfo.cs
- RelatedImageListAttribute.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- CollectionChangeEventArgs.cs
- ApplicationServiceHelper.cs
- StructuralComparisons.cs
- RadioButton.cs
- DbDataAdapter.cs
- FilterException.cs
- CapabilitiesState.cs
- CryptoKeySecurity.cs
- LinqDataSourceSelectEventArgs.cs
- ListContractAdapter.cs
- InvokeMethodActivityDesigner.cs
- CodeParameterDeclarationExpression.cs
- GACMembershipCondition.cs
- ExpressionEditorSheet.cs
- UrlPath.cs
- basenumberconverter.cs
- TextContainerChangeEventArgs.cs
- X509IssuerSerialKeyIdentifierClause.cs
- PathNode.cs
- TextUtf8RawTextWriter.cs
- SqlUtil.cs
- ClientUrlResolverWrapper.cs
- IncrementalCompileAnalyzer.cs
- MenuItem.cs
- ImageMap.cs
- DataGridSortCommandEventArgs.cs
- ResizeBehavior.cs
- CatchDesigner.xaml.cs
- HierarchicalDataBoundControl.cs
- CharacterHit.cs
- Container.cs
- hebrewshape.cs
- documentsequencetextview.cs
- WrappedKeySecurityToken.cs
- ParallelSeparator.xaml.cs
- PagesChangedEventArgs.cs
- RSAPKCS1SignatureDeformatter.cs
- Rect.cs
- DeploymentSectionCache.cs
- SqlDataSourceCommandEventArgs.cs
- FormCollection.cs
- CompositeActivityCodeGenerator.cs
- AutomationPeer.cs
- AnimationException.cs
- DrawTreeNodeEventArgs.cs
- DLinqTableProvider.cs
- counter.cs
- Identifier.cs
- WindowInteropHelper.cs
- GradientBrush.cs
- KeySpline.cs
- SchemaTableOptionalColumn.cs
- UnsafeNativeMethods.cs
- ClientEventManager.cs
- PeerInvitationResponse.cs
- CodeMemberMethod.cs
- StateBag.cs
- DetailsViewUpdateEventArgs.cs
- ByteRangeDownloader.cs
- OracleDataReader.cs
- Visual3D.cs
- RuntimeIdentifierPropertyAttribute.cs
- DateTimeStorage.cs
- SerializationInfoEnumerator.cs
- LoginUtil.cs
- ADConnectionHelper.cs
- HatchBrush.cs
- BaseProcessProtocolHandler.cs
- DSASignatureFormatter.cs
- CodeCastExpression.cs
- EntityDataSourceValidationException.cs
- TraceContext.cs
- WebContext.cs
- WinEventTracker.cs
- GeometryDrawing.cs
- TextTrailingCharacterEllipsis.cs
- VerificationAttribute.cs
- OptimalBreakSession.cs
- Fx.cs
- DataBoundControlAdapter.cs
- SecureConversationVersion.cs
- Vector3DCollectionConverter.cs
- ValidationSummaryDesigner.cs
- TypeConverterHelper.cs
- EncoderFallback.cs
- IISUnsafeMethods.cs
- IERequestCache.cs
- ClipboardData.cs
- ClientType.cs
- SystemUnicastIPAddressInformation.cs
- VectorCollection.cs