zoukankan      html  css  js  c++  java
  • 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(); } } }
  • 相关阅读:
    Java中判断两个列表是否相等
    chrome:插件、跨域、调试....
    mac 开发环境采坑
    webpack升级踩坑
    js-使用装饰器去抖
    React setState 笔试题,下面的代码输出什么?
    react 解决:容器组件更新,导致内容组件重绘
    centos使用ngnix代理https
    javascript 理解继承
    js 数据监听--对象的变化
  • 原文地址:https://www.cnblogs.com/rinack/p/5831229.html
Copyright © 2011-2022 走看看