在没有默认构造函数的情况下,您可以使用反射来动态创建类型。以下是一个示例:
using System;
using System.Reflection;
public class MyClass
{
public MyClass(string message)
{
Console.WriteLine(message);
}
}
public class Program
{
public static void Main()
{
Type type = typeof(MyClass);
ConstructorInfo constructor = type.GetConstructor(new Type[] { typeof(string) });
if (constructor != null)
{
object instance = constructor.Invoke(new object[] { "Hello, World!" });
}
}
}
在这个示例中,我们使用 GetConstructor
方法获取 MyClass
类型的构造函数,该构造函数接受一个字符串参数。然后,我们使用 Invoke
方法创建一个新的 MyClass
实例,并将字符串 "Hello, World!" 作为参数传递给构造函数。
请注意,这个示例仅适用于具有公共构造函数的类型。如果您需要创建具有非公共构造函数的类型,则需要使用其他技术,例如反射发出或使用动态代理。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云