FunctionParameter.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Metadata / Edm / FunctionParameter.cs / 2 / FunctionParameter.cs

                            //---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// 
// @owner  [....], [....]
//--------------------------------------------------------------------- 
 
using System;
using System.Collections.Generic; 
using System.Diagnostics;
using System.Text;

namespace System.Data.Metadata.Edm 
{
    ///  
    /// Class representing a function parameter 
    /// 
    public sealed class FunctionParameter : MetadataItem 
    {
        internal static Func> DeclaringFunctionLinker = fp => fp._declaringFunction;

        #region Constructors 
        /// 
        /// The constructor for FunctionParameter taking in a name and a TypeUsage object 
        ///  
        /// The name of this FunctionParameter
        /// The TypeUsage describing the type of this FunctionParameter 
        /// Mode of the parameter
        /// Thrown if name or typeUsage arguments are null
        /// Thrown if name argument is empty string
        internal FunctionParameter(string name, TypeUsage typeUsage, ParameterMode parameterMode) 
        {
            EntityUtil.CheckStringArgument(name, "name"); 
            EntityUtil.GenericCheckArgumentNull(typeUsage, "typeUsage"); 
            _name = name;
            _typeUsage = typeUsage; 
            SetParameterMode(parameterMode);
        }
        #endregion
 
        #region Fields
        private readonly TypeUsage _typeUsage; 
        private readonly string _name; 
        private readonly SafeLink _declaringFunction = new SafeLink();
        #endregion 

        #region Properties
        /// 
        /// Returns the kind of the type 
        /// 
        public override BuiltInTypeKind BuiltInTypeKind { get { return BuiltInTypeKind.FunctionParameter; } } 
 
        /// 
        /// Gets/Sets the mode of this parameter 
        /// 
        /// Thrown if value passed into setter is null
        /// Thrown if the FunctionParameter instance is in ReadOnly state
        [MetadataProperty(BuiltInTypeKind.ParameterMode, false)] 
        public ParameterMode Mode
        { 
            get 
            {
                return GetParameterMode(); 
            }
        }

        ///  
        /// Returns the identity of the member
        ///  
        internal override string Identity 
        {
            get 
            {
                return _name;
            }
        } 

        ///  
        /// Returns the name of the member 
        /// 
        [MetadataProperty(PrimitiveTypeKind.String, false)] 
        public String Name
        {
            get
            { 
                return _name;
            } 
        } 

        ///  
        /// Returns the TypeUsage object containing the type information and facets
        /// about the type
        /// 
        [MetadataProperty(BuiltInTypeKind.TypeUsage, false)] 
        public TypeUsage TypeUsage
        { 
            get 
            {
                return _typeUsage; 
            }
        }

        ///  
        /// Returns the declaring function of this parameter
        ///  
        public EdmFunction DeclaringFunction 
        {
            get 
            {
                return _declaringFunction.Value;
            }
        } 
        #endregion
 
        #region Methods 
        /// 
        /// Overriding System.Object.ToString to provide better String representation 
        /// for this type.
        /// 
        public override string ToString()
        { 
            return Name;
        } 
 

        ///  
        /// Sets the member to read only mode. Once this is done, there are no changes
        /// that can be done to this class
        /// 
        internal override void SetReadOnly() 
        {
            if (!IsReadOnly) 
            { 
                base.SetReadOnly();
                // TypeUsage is always readonly, no reason to set it 
            }
        }
        #endregion
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// 
// @owner  [....], [....]
//--------------------------------------------------------------------- 
 
using System;
using System.Collections.Generic; 
using System.Diagnostics;
using System.Text;

namespace System.Data.Metadata.Edm 
{
    ///  
    /// Class representing a function parameter 
    /// 
    public sealed class FunctionParameter : MetadataItem 
    {
        internal static Func> DeclaringFunctionLinker = fp => fp._declaringFunction;

        #region Constructors 
        /// 
        /// The constructor for FunctionParameter taking in a name and a TypeUsage object 
        ///  
        /// The name of this FunctionParameter
        /// The TypeUsage describing the type of this FunctionParameter 
        /// Mode of the parameter
        /// Thrown if name or typeUsage arguments are null
        /// Thrown if name argument is empty string
        internal FunctionParameter(string name, TypeUsage typeUsage, ParameterMode parameterMode) 
        {
            EntityUtil.CheckStringArgument(name, "name"); 
            EntityUtil.GenericCheckArgumentNull(typeUsage, "typeUsage"); 
            _name = name;
            _typeUsage = typeUsage; 
            SetParameterMode(parameterMode);
        }
        #endregion
 
        #region Fields
        private readonly TypeUsage _typeUsage; 
        private readonly string _name; 
        private readonly SafeLink _declaringFunction = new SafeLink();
        #endregion 

        #region Properties
        /// 
        /// Returns the kind of the type 
        /// 
        public override BuiltInTypeKind BuiltInTypeKind { get { return BuiltInTypeKind.FunctionParameter; } } 
 
        /// 
        /// Gets/Sets the mode of this parameter 
        /// 
        /// Thrown if value passed into setter is null
        /// Thrown if the FunctionParameter instance is in ReadOnly state
        [MetadataProperty(BuiltInTypeKind.ParameterMode, false)] 
        public ParameterMode Mode
        { 
            get 
            {
                return GetParameterMode(); 
            }
        }

        ///  
        /// Returns the identity of the member
        ///  
        internal override string Identity 
        {
            get 
            {
                return _name;
            }
        } 

        ///  
        /// Returns the name of the member 
        /// 
        [MetadataProperty(PrimitiveTypeKind.String, false)] 
        public String Name
        {
            get
            { 
                return _name;
            } 
        } 

        ///  
        /// Returns the TypeUsage object containing the type information and facets
        /// about the type
        /// 
        [MetadataProperty(BuiltInTypeKind.TypeUsage, false)] 
        public TypeUsage TypeUsage
        { 
            get 
            {
                return _typeUsage; 
            }
        }

        ///  
        /// Returns the declaring function of this parameter
        ///  
        public EdmFunction DeclaringFunction 
        {
            get 
            {
                return _declaringFunction.Value;
            }
        } 
        #endregion
 
        #region Methods 
        /// 
        /// Overriding System.Object.ToString to provide better String representation 
        /// for this type.
        /// 
        public override string ToString()
        { 
            return Name;
        } 
 

        ///  
        /// Sets the member to read only mode. Once this is done, there are no changes
        /// that can be done to this class
        /// 
        internal override void SetReadOnly() 
        {
            if (!IsReadOnly) 
            { 
                base.SetReadOnly();
                // TypeUsage is always readonly, no reason to set it 
            }
        }
        #endregion
    } 
}

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