相关疑难解决方法(0)

如何创建一个动态确定的属性名称的匿名对象?

给定一个值数组,我想创建一个具有基于这些值的属性的匿名对象.属性名称只是数组中值的索引"pN"所在N.

例如,给定

object[] values = { 123, "foo" };

我想创建一个匿名对象

new { p0 = 123, p1 = "foo" };

我能想到的唯一方法就是使用一个switchif链到一个合理数量的参数来支持,但我想知道是否有更优雅的方法来做到这一点:

object[] parameterValues = new object[] { 123, "foo" };
dynamic values = null;

switch (parameterValues.Length)
{
    case 1:
        values = new { p0 = parameterValues[0] };
        break;
    case 2:
        values = new { p0 = parameterValues[0], p1 = parameterValues[1] };      
        break;
    // etc. up to a reasonable # of parameters
}
Run Code Online (Sandbox Code Playgroud)

背景 …

c# anonymous-types dapper

16
推荐指数
2
解决办法
2万
查看次数

标签 统计

anonymous-types ×1

c# ×1

dapper ×1