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

C#反射:从类型化数据集中获取DataRow的字段

在C#中,反射是一种强大的技术,允许您在运行时检查和操作对象的类型、属性和方法。在类型化数据集(如 DataTable 或 DataSet)中,您可以使用反射从 DataRow 对象获取字段。

以下是一个示例,说明如何使用反射从 DataRow 对象获取字段:

代码语言:csharp
复制
using System;
using System.Data;
using System.Reflection;

public class ReflectionExample
{
    public static void Main()
    {
        // 创建一个 DataTable 对象
        DataTable table = new DataTable("ExampleTable");

        // 添加两个列
        table.Columns.Add("Id", typeof(int));
        table.Columns.Add("Name", typeof(string));

        // 添加一行数据
        DataRow row = table.NewRow();
        row["Id"] = 1;
        row["Name"] = "John Doe";
        table.Rows.Add(row);

        // 使用反射获取 DataRow 的字段
        Type dataRowType = row.GetType();
        PropertyInfo[] properties = dataRowType.GetProperties(BindingFlags.Public | BindingFlags.Instance);

        foreach (PropertyInfo property in properties)
        {
            object value = property.GetValue(row, null);
            Console.WriteLine($"{property.Name}: {value}");
        }
    }
}

在这个示例中,我们首先创建了一个 DataTable 对象,并向其中添加了两个列(Id 和 Name)。然后,我们创建了一个 DataRow 对象,并向其中添加了一些数据。

接下来,我们使用反射获取 DataRow 对象的类型,并获取其所有公共属性。然后,我们遍历这些属性,并使用 GetValue 方法获取每个属性的值。最后,我们将属性名称和值打印到控制台上。

在这个示例中,我们使用了 System.Reflection 命名空间中的 PropertyInfo 类来获取 DataRow 对象的属性。然后,我们使用 GetValue 方法获取每个属性的值。

这个示例展示了如何使用反射从 DataRow 对象获取字段。请注意,这个示例仅适用于类型化数据集,因为它们使用 DataRow 对象来表示数据行。对于非类型化数据集,您需要使用其他技术来获取字段。

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

相关·内容

9分19秒

036.go的结构体定义

18分41秒

041.go的结构体的json序列化

1分1秒

VC++6.0开发的PACS医学影像工作站 DICOM标准化开发(

领券