codemethodreferenceexpression.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 / whidbey / NetFxQFE / ndp / fx / src / CompMod / System / CodeDOM / codemethodreferenceexpression.cs / 1 / codemethodreferenceexpression.cs

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

namespace System.CodeDom { 
 
    using System.Diagnostics;
    using System; 
    using Microsoft.Win32;
    using System.Collections;
    using System.Runtime.InteropServices;
    using System.Runtime.Serialization; 

    ///  
    ///     
    ///       Represents an
    ///       expression to invoke a method, to be called on a given target. 
    ///    
    /// 
    [
        ClassInterface(ClassInterfaceType.AutoDispatch), 
        ComVisible(true),
        Serializable, 
    ] 
    public class CodeMethodReferenceExpression : CodeExpression {
        private CodeExpression targetObject; 
        private string methodName;
        [OptionalField]
        private CodeTypeReferenceCollection typeArguments;
 
        /// 
        ///     
        ///       Initializes a new instance of . 
        ///    
        ///  
        public CodeMethodReferenceExpression() {
        }

        ///  
        ///    
        ///       Initializes a new instance of  using the specified 
        ///       target object and method name. 
        ///    
        ///  
        public CodeMethodReferenceExpression(CodeExpression targetObject, string methodName) {
            TargetObject = targetObject;
            MethodName = methodName;
        } 

        public CodeMethodReferenceExpression(CodeExpression targetObject, string methodName, params CodeTypeReference[] typeParameters) { 
            TargetObject = targetObject; 
            MethodName = methodName;
            if( typeParameters != null && typeParameters.Length > 0) { 
                TypeArguments.AddRange(typeParameters);
            }
        }
 
        /// 
        ///     
        ///       Gets or sets the target object. 
        ///    
        ///  
        public CodeExpression TargetObject {
            get {
                return targetObject;
            } 
            set {
                this.targetObject = value; 
            } 
        }
 
        /// 
        ///    
        ///       Gets or sets the name of the method to invoke.
        ///     
        /// 
        public string MethodName { 
            get { 
                return (methodName == null) ? string.Empty : methodName;
            } 
            set {
                methodName = value;
            }
        } 

        [System.Runtime.InteropServices.ComVisible(false)] 
        public CodeTypeReferenceCollection TypeArguments{ 
            get {
                if( typeArguments == null) { 
                    typeArguments = new CodeTypeReferenceCollection();
                }
                return typeArguments;
            } 
        }
    } 
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

namespace System.CodeDom { 
 
    using System.Diagnostics;
    using System; 
    using Microsoft.Win32;
    using System.Collections;
    using System.Runtime.InteropServices;
    using System.Runtime.Serialization; 

    ///  
    ///     
    ///       Represents an
    ///       expression to invoke a method, to be called on a given target. 
    ///    
    /// 
    [
        ClassInterface(ClassInterfaceType.AutoDispatch), 
        ComVisible(true),
        Serializable, 
    ] 
    public class CodeMethodReferenceExpression : CodeExpression {
        private CodeExpression targetObject; 
        private string methodName;
        [OptionalField]
        private CodeTypeReferenceCollection typeArguments;
 
        /// 
        ///     
        ///       Initializes a new instance of . 
        ///    
        ///  
        public CodeMethodReferenceExpression() {
        }

        ///  
        ///    
        ///       Initializes a new instance of  using the specified 
        ///       target object and method name. 
        ///    
        ///  
        public CodeMethodReferenceExpression(CodeExpression targetObject, string methodName) {
            TargetObject = targetObject;
            MethodName = methodName;
        } 

        public CodeMethodReferenceExpression(CodeExpression targetObject, string methodName, params CodeTypeReference[] typeParameters) { 
            TargetObject = targetObject; 
            MethodName = methodName;
            if( typeParameters != null && typeParameters.Length > 0) { 
                TypeArguments.AddRange(typeParameters);
            }
        }
 
        /// 
        ///     
        ///       Gets or sets the target object. 
        ///    
        ///  
        public CodeExpression TargetObject {
            get {
                return targetObject;
            } 
            set {
                this.targetObject = value; 
            } 
        }
 
        /// 
        ///    
        ///       Gets or sets the name of the method to invoke.
        ///     
        /// 
        public string MethodName { 
            get { 
                return (methodName == null) ? string.Empty : methodName;
            } 
            set {
                methodName = value;
            }
        } 

        [System.Runtime.InteropServices.ComVisible(false)] 
        public CodeTypeReferenceCollection TypeArguments{ 
            get {
                if( typeArguments == null) { 
                    typeArguments = new CodeTypeReferenceCollection();
                }
                return typeArguments;
            } 
        }
    } 
} 

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