如何利用C#反射实现对象的动态创建

   2024-10-01 6760
核心提示:在C#中,可以使用反射来动态创建对象。下面是一个简单的示例代码:using System;using System.Reflection;public class Program{

在C#中,可以使用反射来动态创建对象。下面是一个简单的示例代码:

using System;using System.Reflection;public class Program{    public class MyClass    {        public string Name { get; set; }        public int Age { get; set; }        public MyClass()        {            Name = "John Doe";            Age = 30;        }        public void PrintInfo()        {            Console.WriteLine($"Name: {Name}, Age: {Age}");        }    }    public static void Main()    {        Type type = typeof(MyClass);        object obj = Activator.CreateInstance(type);        MethodInfo printInfoMethod = type.GetMethod("PrintInfo");        printInfoMethod.Invoke(obj, null);    }}

在这个示例中,我们定义了一个名为MyClass的类,它有一个构造函数和一个打印信息的方法。在Main方法中,我们使用typeof方法获取MyClass的Type对象,然后使用Activator.CreateInstance方法动态创建一个MyClass的实例。接着,我们使用反射获取PrintInfo方法的MethodInfo对象,并通过Invoke方法调用该方法。

通过这种方式,我们可以动态创建对象并调用其方法,而不需要在代码中直接使用类名。这种方法在需要根据运行时条件来创建对象时非常有用。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号