.NET 6 动态添加类字段 - 示例代码与解释
在 .NET 6 中,可以使用动态类型来给一个类动态添加字段。下面是示例代码:
using System;
public class MyClass
{
public string MyProperty { get; set; }
}
public static class DynamicFieldExtension
{
public static void AddField<T>(this T obj, string fieldName, object value)
{
var dynamicObject = obj as dynamic;
dynamicObject[fieldName] = value;
}
}
public class Program
{
public static void Main()
{
var myObj = new MyClass();
myObj.AddField("MyDynamicField", 10);
Console.WriteLine(myObj.MyDynamicField); // 输出:10
}
}
在上面的代码中,我们定义了一个 DynamicFieldExtension 静态类,其中包含一个 AddField<T> 的扩展方法。该方法接受一个泛型参数 T,用于指定要添加字段的对象类型,以及一个字段名和一个字段值。在方法内部,我们将对象转换为 dynamic 类型,并使用字段名作为索引来动态添加字段和赋值。
在 Main 方法中,我们创建了一个 MyClass 对象 myObj,并使用 AddField 方法在运行时动态添加了一个名为 MyDynamicField 的字段,并将值设置为 10。最后,我们通过访问 myObj.MyDynamicField 来获取添加的字段值并进行输出。
原文地址: https://www.cveoy.top/t/topic/p05B 著作权归作者所有。请勿转载和采集!