首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过C#中的Reflection创建匿名对象

通过C#中的Reflection创建匿名对象

在C#中,可以使用反射(Reflection)来创建匿名对象。Reflection是C#中的一种机制,允许程序在运行时检查和操作其自身结构和行为。通过Reflection,可以动态地创建和操作对象,而不需要预先编译代码。

以下是使用Reflection创建匿名对象的示例代码:

代码语言:csharp
复制
using System;

class Program
{
    static void Main()
    {
        // 创建一个匿名类型
        var anonymousType = new { Name = "", Age = 0 };

        // 获取匿名类型的Type对象
        Type type = anonymousType.GetType();

        // 创建匿名对象
        object obj = Activator.CreateInstance(type, "John", 30);

        // 输出匿名对象的属性值
        Console.WriteLine("Name: {0}, Age: {1}", type.GetProperty("Name").GetValue(obj), type.GetProperty("Age").GetValue(obj));
    }
}

在上面的示例代码中,我们首先创建了一个匿名类型的实例,然后使用GetType()方法获取该实例的Type对象。接着,我们使用Activator.CreateInstance()方法创建了一个匿名对象,并传入了构造函数的参数。最后,我们使用GetProperty()方法获取匿名对象的属性值,并输出到控制台上。

需要注意的是,由于匿名类型没有类型名称,因此无法直接使用Type.GetType()方法获取其Type对象。在上面的示例代码中,我们通过创建匿名类型的实例来间接地获取其Type对象。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

2分7秒

mybatis框架入门必备教程-013-JDK-接口的匿名内部实现创建对象

6分20秒

day15_面向对象(下)/17-尚硅谷-Java语言基础-创建接口匿名实现类的对象

6分20秒

day15_面向对象(下)/17-尚硅谷-Java语言基础-创建接口匿名实现类的对象

6分20秒

day15_面向对象(下)/17-尚硅谷-Java语言基础-创建接口匿名实现类的对象

12分31秒

day15_面向对象(下)/10-尚硅谷-Java语言基础-创建抽象类的匿名子类对象

12分31秒

day15_面向对象(下)/10-尚硅谷-Java语言基础-创建抽象类的匿名子类对象

12分31秒

day15_面向对象(下)/10-尚硅谷-Java语言基础-创建抽象类的匿名子类对象

14分42秒

day28_反射/17-尚硅谷-Java语言高级-通过反射,创建运行时类的对象

14分42秒

day28_反射/17-尚硅谷-Java语言高级-通过反射,创建运行时类的对象

14分42秒

day28_反射/17-尚硅谷-Java语言高级-通过反射,创建运行时类的对象

13分40秒

040.go的结构体的匿名嵌套

8分50秒

033.go的匿名结构体

领券