Activator.CreateInstance 方法
2015-10-08 09:25
381 查看
Activator.CreateInstance 方法 (Type)
使用与指定参数匹配程度最高的构造函数来创建指定类型的实例。
命名空间:System
程序集:mscorlib(在 mscorlib.dll 中)
C#
public static Object
CreateInstance (Type type)
Activator.CreateInstance 泛型方法 ()
注意:此方法在 .NET Framework 2.0 版中是新增的。
创建类型的一个实例,该类型由指定的泛型类型参数指定。
命名空间:System
程序集:mscorlib(在 mscorlib.dll 中)
C#
public static T
CreateInstance<T> ()
Activator.CreateInstance
(Type)实例
输入一个类的名称为参数,返回一个相应的类的实例。
这在工厂模式中是非常有用的,这样,可以使程序有更高的扩展性
/*
* Created by SharpDevelop.
* User: 19004991
* Date: 2009-8-6
* Time: 9:10
*/
using System;
namespace ActivatorCreateInstance
{
public interface IObject
{
void printName();
}
public class ClassExam
: IObject
{
private string name="default
name";
public ClassExam()
{
}
public ClassExam(string name)
{
this.name = name;
}
public void printName()
{
Console .WriteLine (this.name
);
}
}
public class Program
{
public Program()
{
}
public static void Main(string[]
args)
{
// TODO:
Implement Functionality Here
IObject obj1=(IObject)Activator.CreateInstance(System.Type.GetType
("ActivatorCreateInstance.ClassExam"));
obj1.printName();
IObject obj2=(IObject)Activator.CreateInstance(System.Type.GetType("ActivatorCreateInstance.ClassExam"),newstring[]{"seted
new name"});
obj2.printName();
Console.Write("Press
any key to continue . . . ");
Console.ReadKey(true);
}
}
}
网上代码System.Type.GetType内为"ActivatorCreateInstance.ClassExam,ActivatorExample"编译失败
使用与指定参数匹配程度最高的构造函数来创建指定类型的实例。
命名空间:System
程序集:mscorlib(在 mscorlib.dll 中)
C#
public static Object
CreateInstance (Type type)
Activator.CreateInstance 泛型方法 ()
注意:此方法在 .NET Framework 2.0 版中是新增的。
创建类型的一个实例,该类型由指定的泛型类型参数指定。
命名空间:System
程序集:mscorlib(在 mscorlib.dll 中)
C#
public static T
CreateInstance<T> ()
Activator.CreateInstance
(Type)实例
输入一个类的名称为参数,返回一个相应的类的实例。
这在工厂模式中是非常有用的,这样,可以使程序有更高的扩展性
/*
* Created by SharpDevelop.
* User: 19004991
* Date: 2009-8-6
* Time: 9:10
*/
using System;
namespace ActivatorCreateInstance
{
public interface IObject
{
void printName();
}
public class ClassExam
: IObject
{
private string name="default
name";
public ClassExam()
{
}
public ClassExam(string name)
{
this.name = name;
}
public void printName()
{
Console .WriteLine (this.name
);
}
}
public class Program
{
public Program()
{
}
public static void Main(string[]
args)
{
// TODO:
Implement Functionality Here
IObject obj1=(IObject)Activator.CreateInstance(System.Type.GetType
("ActivatorCreateInstance.ClassExam"));
obj1.printName();
IObject obj2=(IObject)Activator.CreateInstance(System.Type.GetType("ActivatorCreateInstance.ClassExam"),newstring[]{"seted
new name"});
obj2.printName();
Console.Write("Press
any key to continue . . . ");
Console.ReadKey(true);
}
}
}
网上代码System.Type.GetType内为"ActivatorCreateInstance.ClassExam,ActivatorExample"编译失败
相关文章推荐
- 动手动脑例子验证
- JS+CSS实现的蓝色table选项卡效果
- 《数学之美》中的RSA算法、隐含马尔可夫模型、维特比算法
- SVN合并的使用
- java程序执行Linux命令
- [书目20151008]关于商业,你所知道的都是陷阱
- HDU 1166 敌兵布阵 (线段树单点更新+区间查询入门)
- 4000 转自新浪博客--FragmentActivity
- android全屏去掉title栏的多种实现方法
- QT 主窗口最小化,子窗口不跟随 设置
- GCC 命令行详解 -L 指定库的路径 -l 指定需连接的库名
- 一步步安装nginx搭建流媒体服务器
- 安卓开发之ListAdapter(二)
- 多个.txt文件合并
- java语法基础
- ubuntu环境笔记
- [各种面试题] 字符串匹配查询
- 数据加密--RSA
- eclipse安装ermaster建模插件
- BZOJ 1207: [HNOI2004]打鼹鼠