OperationParameterInfo.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 / NetFx35 / System.WorkflowServices / System / Workflow / Activities / OperationParameterInfo.cs / 1305376 / OperationParameterInfo.cs

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

namespace System.Workflow.Activities 
{
    using System; 
    using System.ComponentModel; 
    using System.ComponentModel.Design.Serialization;
    using System.Drawing.Design; 
    using System.Diagnostics.CodeAnalysis;
    using System.Net.Security;
    using System.Reflection;
    using System.ServiceModel; 
    using System.Workflow.ComponentModel;
    using System.Workflow.ComponentModel.Compiler; 
    using System.Workflow.ComponentModel.Serialization; 

    [Browsable(true)] 
    [DesignerSerializer(typeof(DependencyObjectCodeDomSerializer), typeof(CodeDomSerializer))]
    public sealed class OperationParameterInfo : DependencyObject
    {
        [SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")] 
        public static readonly DependencyProperty AttributesProperty =
            DependencyProperty.Register("Attributes", 
            typeof(ParameterAttributes), typeof(OperationParameterInfo), 
            new PropertyMetadata(DependencyPropertyOptions.Metadata));
 
        [SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
        public static readonly DependencyProperty NameProperty =
            DependencyProperty.Register("Name",
            typeof(string), typeof(OperationParameterInfo), 
            new PropertyMetadata(null, DependencyPropertyOptions.Metadata));
 
        [SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")] 
        public static readonly DependencyProperty ParameterTypeProperty =
            DependencyProperty.Register("ParameterType", 
            typeof(Type), typeof(OperationParameterInfo),
            new PropertyMetadata(typeof(void), DependencyPropertyOptions.Metadata));

        [SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")] 
        public static readonly DependencyProperty PositionProperty =
            DependencyProperty.Register("Position", 
            typeof(int), typeof(OperationParameterInfo), 
            new PropertyMetadata(-1, DependencyPropertyOptions.Metadata));
 
        public OperationParameterInfo()
        {
        }
 
        public OperationParameterInfo(string parameterName)
        { 
            SetValue(NameProperty, parameterName); 
        }
 
        internal OperationParameterInfo(ParameterInfo parameter)
        {
            if (parameter == null)
            { 
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("parameter");
            } 
 
            SetValue(OperationParameterInfo.NameProperty, parameter.Name);
            SetValue(OperationParameterInfo.PositionProperty, parameter.Position); 
            SetValue(OperationParameterInfo.AttributesProperty, parameter.Attributes);
            SetValue(OperationParameterInfo.ParameterTypeProperty, parameter.ParameterType);
        }
 
        public ParameterAttributes Attributes
        { 
            get 
            {
                return (ParameterAttributes) GetValue(AttributesProperty); 
            }
            set
            {
                SetValue(AttributesProperty, value); 
            }
        } 
 
        public bool IsIn
        { 
            get
            {
                return ((this.Attributes & ParameterAttributes.In) != 0);
            } 
        }
 
        [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")] 
        public bool IsLcid
        { 
            get
            {
                return ((this.Attributes & ParameterAttributes.Lcid) != 0);
            } 
        }
 
        public bool IsOptional 
        {
            get 
            {
                return ((this.Attributes & ParameterAttributes.Optional) != 0);
            }
        } 

        public bool IsOut 
        { 
            get
            { 
                return ((this.Attributes & ParameterAttributes.Out) != 0);
            }
        }
 
        [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")]
        public bool IsRetval 
        { 
            get
            { 
                return ((this.Attributes & ParameterAttributes.Retval) != 0);
            }
        }
 
        public string Name
        { 
            get 
            {
                return (string) GetValue(NameProperty); 
            }
            set
            {
                SetValue(NameProperty, value); 
            }
        } 
 
        public Type ParameterType
        { 
            get
            {
                return (Type) GetValue(ParameterTypeProperty);
            } 
            set
            { 
                SetValue(ParameterTypeProperty, value); 
            }
        } 

        public int Position
        {
            get 
            {
                return (int) GetValue(PositionProperty); 
            } 
            set
            { 
                SetValue(PositionProperty, value);
            }
        }
 
        public OperationParameterInfo Clone()
        { 
            OperationParameterInfo clonedParameter = new OperationParameterInfo(); 
            clonedParameter.Name = this.Name;
            clonedParameter.Attributes = this.Attributes; 
            clonedParameter.Position = this.Position;
            clonedParameter.ParameterType = this.ParameterType;

            return clonedParameter; 
        }
 
        public override bool Equals(object obj) 
        {
            OperationParameterInfo parameter = obj as OperationParameterInfo; 
            if (parameter == null)
            {
                return false;
            } 
            if (String.Compare(parameter.Name, this.Name, StringComparison.Ordinal) != 0)
            { 
                return false; 
            }
            if (parameter.Attributes != this.Attributes) 
            {
                return false;
            }
            if (parameter.Position != this.Position) 
            {
                return false; 
            } 
            if (parameter.ParameterType != this.ParameterType)
            { 
                return false;
            }

            return true; 
        }
 
        public override int GetHashCode() 
        {
            return base.GetHashCode(); 
        }
    }
}

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