微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

您只能在 c# 中的固定语句初始值设定项错误中获取未固定表达式的地址

如何解决您只能在 c# 中的固定语句初始值设定项错误中获取未固定表达式的地址

我使用 .NET Reflector 对一个项目进行了逆向工程,一切都很好,而不是这个错误,我不知道如何解决它,请指导我在此先感谢。这是代码

CS0212 只能在固定语句初始化器中获取未固定表达式的地址

if (flag6 && !double.IsNaN(doubleValue))
{
  double* numPtr1 = &this._MeasData[index].MeasValSum;//Error(You can only take address of an unfixed expression inside of a fixed statement initializer)
  numPtr1[0] += doubleValue;
  int* numPtr2 = &this._MeasData[index].MeasValNoOfValues; //Error(You can only take address of an unfixed expression inside of a fixed statement initializer)
  numPtr2[0]++;
}

_MeasData 结构是

[StructLayout(LayoutKind.Sequential)]
private struct MeasChData
{
  public MeasureInfo MeasInfo;
  public int MeasChNumber;
  public RollingPointPairList MeasureSamples;
  public LineItem MeasuredValueLine;
  public double MeasValSum;
  public int MeasValNoOfValues;
  public double MeasValLabel;
  public double CurrentYMin;
  public double CurrentYMax;
}

我尝试投射但未能解决错误。 我英语不好。所以忽略如果...... 谢谢

解决方法

我已经解决了这个问题

fixed(double* numPtr1 = &this._MeasData[index].MeasValSum)
numPtr1[0] +=doubleValue;
fixed( int* numPtr2 = &this._MeasData[index].MeasValNoOfValues)
numPtr2[0]++;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。