• C# Activator.CreateInstance 动态创建类的实例(二)


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Kernel.Interface
    {
        public interface IObjcet
        {
            void Put();
    
            void Put(string plus);
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using Kernel.Interface;
    
    namespace Kernel.SimpleLibrary
    {
        public class PlugPut : IObjcet
        {
    
            private string plugName = "";
    
            public string PlugName
            {
                get { return plugName; }
                set { plugName = value; }
            }
    
            public PlugPut() { }
                 
    
            public PlugPut(string plusName) 
            {
                this.PlugName = plusName;
            }
    
            public void Put()
            {
                Console.WriteLine("Default plug value is:" + plugName);
            }
    
            public void Put(string plus)
            {
                Console.WriteLine("Put plus value is:" + plus);
            }
        }
    }
    using Kernel.DriverLibrary;
    using Kernel.Interface;
    using Kernel.SimpleLibrary;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Reflection;
    using System.Runtime.Remoting;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Kernel.App
    {
        class Program
        {
            static void Main(string[] args)
            {
                
                #region
                //用传递参数来得到一个类的实例
    
                //用Activator.CreateInstance创建默认的不带参数的构造函数
                IObjcet obj = (IObjcet)Activator.CreateInstance(
                      System.Type.GetType("Kernel.SimpleLibrary.PlugPut,Kernel.SimpleLibrary"), null); obj.Put(); obj.Put("plug 1"); //System.Type.GetType(命名空间.类名,程序集) //用Activator.CreateInstance创建另一个带参数构造函数实例 IObjcet obj2 = (IObjcet)System.Activator.CreateInstance(
                      System.Type.GetType("Kernel.SimpleLibrary.PlugPut,Kernel.SimpleLibrary"),
                      new string[] { "Hello world!" }); obj2.Put(); obj.Put("plug 2"); #endregion Console.ReadLine(); } } }
  • 相关阅读:
    构建账户系统
    我的vim配置
    document.readyState和xmlhttp.onreadystatechange
    RSA非对称算法实现HTTP密码加密传输
    css3动画学习资料整理
    H5缓存机制学习记录
    [leetcode]3Sum Closest
    [leetcode]Word Ladder II
    [leetcode]Two Sum
    [leetcode]Regular Expression Matching
  • 原文地址:https://www.cnblogs.com/rinack/p/5831229.html
Copyright © 2020-2023  润新知