Code.cs source code in C# .NET

Source code for the .NET framework in C#

                        

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

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK