在.NET 6中,可以使用Record类型的新功能来动态添加字段。Record类型是一种不可变的、自动实现了EqualsGetHashCodeToString方法的类型。

以下是一个示例代码,演示了如何在运行时动态添加字段:

public record Person(string Name);

public class DynamicFieldsExample
{
    public static void Main()
    {
        var person1 = new Person("John");
        Console.WriteLine(person1.Name); // 输出 "John"

        var person2 = person1 with { Age = 25 };
        Console.WriteLine(person2.Name); // 输出 "John"
        Console.WriteLine(person2.Age); // 输出 25
    }
}

在上面的示例中,首先定义了一个Person记录类型,只有一个Name字段。然后,通过使用with关键字,可以轻松地为Person类型动态添加一个Age字段,并为其赋值。在运行时,可以访问新添加的Age字段。

请注意,动态添加的字段只对当前对象实例有效,不会影响其他对象实例。此外,动态添加的字段也不会在编译时进行类型检查,因此需要谨慎使用


原文地址: https://www.cveoy.top/t/topic/ii2M 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录