如何解决您只能在 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 举报,一经查实,本站将立刻删除。