给定一个值数组,我想创建一个具有基于这些值的属性的匿名对象.属性名称只是数组中值的索引"pN"所在N.
例如,给定
object[] values = { 123, "foo" };
我想创建一个匿名对象
new { p0 = 123, p1 = "foo" };
我能想到的唯一方法就是使用一个switch或if链到一个合理数量的参数来支持,但我想知道是否有更优雅的方法来做到这一点:
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
}
背景 …