ActivityBuilder.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / ActivityBuilder.cs / 1407647 / ActivityBuilder.cs

                            //---------------------------------------------------------------- 
// Copyright (c) Microsoft Corporation.  All rights reserved.
//---------------------------------------------------------------

namespace System.Activities 
{
    using System.Activities.Debugger; 
    using System.Activities.Validation; 
    using System.Collections.ObjectModel;
    using System.ComponentModel; 
    using System.Windows.Markup;
    using System.Xaml;

    [ContentProperty("Implementation")] 
    public sealed class ActivityBuilder : IDebuggableWorkflowTree
    { 
        // defines an attached property that will identify PropertyReferenceExtension-based 
        // object properties
        static AttachableMemberIdentifier propertyReferencePropertyID = new AttachableMemberIdentifier(typeof(ActivityBuilder), "PropertyReference"); 

        KeyedCollection properties;
        Collection constraints;
        Collection attributes; 

        public ActivityBuilder() 
        { 
        }
 
        public string Name
        {
            get;
            set; 
        }
 
        [DependsOn("Name")] 
        public Collection Attributes
        { 
            get
            {
                if (this.attributes == null)
                { 
                    this.attributes = new Collection();
                } 
                return this.attributes; 
            }
        } 

        [Browsable(false)]
        [DependsOn("Attributes")]
        public KeyedCollection Properties 
        {
            get 
            { 
                if (this.properties == null)
                { 
                    this.properties = new ActivityPropertyCollection();
                }
                return this.properties;
            } 
        }
 
 
        [DependsOn("Properties")]
        [Browsable(false)] 
        public Collection Constraints
        {
            get
            { 
                if (this.constraints == null)
                { 
                    this.constraints = new Collection(); 
                }
                return this.constraints; 
            }
        }

        [DefaultValue(null)] 
        [Browsable(false)]
        [DependsOn("Constraints")] 
        public Activity Implementation 
        {
            get; 
            set;
        }

        // activity property name 
        public static ActivityPropertyReference GetPropertyReference(object target)
        { 
            ActivityPropertyReference value; 
            return AttachablePropertyServices.TryGetProperty(target, propertyReferencePropertyID, out value) ? value : null;
        } 

        // activity property name
        public static void SetPropertyReference(object target, ActivityPropertyReference value)
        { 
            AttachablePropertyServices.SetProperty(target, propertyReferencePropertyID, value);
        } 
 
        Activity IDebuggableWorkflowTree.GetWorkflowRoot()
        { 
            return this.Implementation;
        }

        internal static KeyedCollection CreateActivityPropertyCollection() 
        {
            return new ActivityPropertyCollection(); 
        } 

        class ActivityPropertyCollection : KeyedCollection 
        {
            protected override string GetKeyForItem(DynamicActivityProperty item)
            {
                return item.Name; 
            }
        } 
    } 

    [ContentProperty("Implementation")] 
    public sealed class ActivityBuilder : IDebuggableWorkflowTree
    {
        KeyedCollection properties;
        Collection constraints; 
        Collection attributes;
 
        public ActivityBuilder() 
        {
        } 

        public string Name
        {
            get; 
            set;
        } 
 
        [DependsOn("Name")]
        public Collection Attributes 
        {
            get
            {
                if (this.attributes == null) 
                {
                    this.attributes = new Collection(); 
                } 
                return this.attributes;
            } 
        }

        [Browsable(false)]
        [DependsOn("Attributes")] 
        public KeyedCollection Properties
        { 
            get 
            {
                if (this.properties == null) 
                {
                    this.properties = ActivityBuilder.CreateActivityPropertyCollection();
                }
                return this.properties; 
            }
        } 
 
        [DependsOn("Properties")]
        [Browsable(false)] 
        public Collection Constraints
        {
            get
            { 
                if (this.constraints == null)
                { 
                    this.constraints = new Collection(); 
                }
                return this.constraints; 
            }
        }

        [DefaultValue(null)] 
        [Browsable(false)]
        [DependsOn("Constraints")] 
        public Activity Implementation 
        {
            get; 
            set;
        }

        Activity IDebuggableWorkflowTree.GetWorkflowRoot() 
        {
            return this.Implementation; 
        } 

    } 

}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.


                        

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