CompositeActivityTypeDescriptor.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 / WF / Common / AuthoringOM / Serializer / CompositeActivityTypeDescriptor.cs / 1305376 / CompositeActivityTypeDescriptor.cs

                            namespace System.Workflow.ComponentModel.Serialization 
{
    using System;
    using System.CodeDom;
    using System.ComponentModel; 
    using System.ComponentModel.Design;
    using System.ComponentModel.Design.Serialization; 
    using System.Collections; 
    using System.Resources;
    using System.Workflow.ComponentModel.Design; 
    using System.Collections.Generic;
    using Microsoft.CSharp;
    using System.Workflow.ComponentModel;
    using System.Workflow.ComponentModel.Compiler; 
    using System.CodeDom.Compiler;
    using System.IO; 
    using System.Reflection; 
    using System.Diagnostics;
 
    #region CompositeActivityTypeDescriptor

    internal class CompositeActivityTypeDescriptor : CustomTypeDescriptor
    { 
        ICustomTypeDescriptor realTypeDescriptor = null;
        public CompositeActivityTypeDescriptor(ICustomTypeDescriptor realTypeDescriptor) 
            : base(realTypeDescriptor) 
        {
            this.realTypeDescriptor = realTypeDescriptor; 
        }

        public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
        { 
            PropertyDescriptorCollection properties = base.GetProperties(attributes);
            if (attributes != null && attributes.Length == 1 && attributes[0] is DesignOnlyAttribute && !(attributes[0] as DesignOnlyAttribute).IsDesignOnly) 
            { 
                ArrayList readonlyProperties = new ArrayList();
                foreach (PropertyDescriptor property in properties) 
                    readonlyProperties.Add(property);

                PropertyInfo propInfo = typeof(CompositeActivity).GetProperty("CanModifyActivities", BindingFlags.NonPublic | BindingFlags.Instance);
                readonlyProperties.Add(new ModifyActivitiesPropertyDescriptor(propInfo)); 
                return new PropertyDescriptorCollection((PropertyDescriptor[])readonlyProperties.ToArray(typeof(PropertyDescriptor)));
            } 
            return properties; 
        }
    } 


    #endregion
} 

// 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