将两个对象合并为一个

时间:2010-10-03 18:02:50

标签: c# asp.net

我准备将值传递给方法:

 private string BuildMessage(int templateID, string body, object data)

其中数据参数是名称/值对的数组。要为数据参数准备我的值,我需要将强类型类的属性与简单的2d数组的值组合。

合并这些值的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以通过Reflection轻松获取属性及其值,如下所示:

    public Dictionary<string, string> GetParameters(object data)
    {
        if (data == null)
            return null;

        Dictionary<string, string> parameters = new Dictionary<string, string>();
        foreach (PropertyInfo property in data.GetType().GetProperties())
            parameters.Add(property.Name, property.GetValue(data, null).ToString());
        return parameters;
    }

合并两个词典不需要进一步解释:)