在 C# 中从类型中创建新实例
本教程将讨论使用 C# 在运行时创建给定数据类型的新实例的方法。
在 C# 中使用 Activator
类从类型创建新实例
如果我们想在运行时创建数据类型的新实例并且不知道数据类型,则可以使用 Activator
类和 Type
类来实现此目标。Activator
类提供了根据 C# 中的类型创建对象实例的方法。Activator.CreateInstance()
方法用于创建具有最适合 C# 中指定类型的构造函数的指定类型的实例。Type
类表示 C# 中的数据类型。在这种情况下,我们可以使用 Type
类来确定未知数据类型。下面的代码示例向我们展示了如何在运行时创建数据类型的新实例而又不使用 C# 中的 Activator
类和 Type
类来知道数据类型。
using System;
namespace new_object_from_type
{
class Program
{
static void Main(string[] args)
{
int i = 123;
Type t = i.GetType();
Object n = Activator.CreateInstance(t);
n = 15;
Console.WriteLine(n);
}
}
}
输出:
15
在上面的代码中,我们在运行时创建了一个类型为 int32
的实例,而没有使用 C# 中的 Activator.CreateInstance()
方法指定数据类型。首先,我们使用 C# 中的 i.GetType()
方法确定变量 i
的类型。然后,我们使用 Activator.CreateInstance()
方法创建了该类型的实例。Activator.CreateInstance()
方法会自动为该数据类型找到最佳的构造函数,并使用该实例创建一个实例。然后,我们用值 15
初始化新实例 n
并打印出来。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。