c# bean转dictionary
时间: 2023-09-02 15:12:25 浏览: 127
你可以使用反射来将一个 C# 对象转换为一个 Dictionary。
以下是一个简单的示例代码:
```csharp
using System;
using System.Collections.Generic;
using System.Reflection;
public static class BeanConverter {
public static Dictionary<string, object> ToDictionary(object obj) {
Dictionary<string, object> dict = new Dictionary<string, object>();
PropertyInfo[] properties = obj.GetType().GetProperties();
foreach (PropertyInfo property in properties) {
dict.Add(property.Name, property.GetValue(obj, null));
}
return dict;
}
}
```
这个 BeanConverter 类中的 ToDictionary 方法接收一个对象参数 obj,该方法将该对象转换为一个 Dictionary。它使用反射获取对象的所有属性,然后将这些属性添加到一个新的 Dictionary 中,并返回该 Dictionary。
例如,假设你有一个类 Person,它有两个属性 Name 和 Age:
```csharp
public class Person {
public string Name { get; set; }
public int Age { get; set; }
}
```
你可以使用 BeanConverter.ToDictionary 方法将一个 Person 对象转换为一个 Dictionary:
```csharp
Person person = new Person { Name = "Tom", Age = 30 };
Dictionary<string, object> dict = BeanConverter.ToDictionary(person);
Console.WriteLine(dict["Name"]); // 输出 "Tom"
Console.WriteLine(dict["Age"]); // 输出 30
```
阅读全文