对象不匹配目标类型反射错误

Object does not match target type reflection error

我收到错误 Object does not match target type。我明白为什么我应该得到错误。但我正在将 double 分配给 double。 我不确定为什么我会在下面的代码中收到错误。

我遇到问题的代码:

...

var specTran = new SpecTran(gapRecord);
foreach (var result in yields._predictions)
{
    var type = specTran.GetType(); // --> {Name = "SpecTran" FullName = "GAP.Models.Database.SpecTran"}
    var prop = type.GetProperty(result.Key); // --> {Double DexaCWT}

    if (prop == null)
        continue;

    prop.SetValue(
        (double)result.Value, // --> {[DexaCWT, 0]}
        specTran);
}

预测结果class:

PredictionResult {
    ...
    public Dictionary<string, double> _predictions { get; set; }
}

根据 docs.

,您对 SetValue 的论点是倒退的

应该是:

prop.SetValue(
    specTran,    
    (double)result.Value); // --> {[DexaCWT, 0]}