我收到以下从德语翻译的错误:
错误 BC30068:表达式是一个值,不能作为赋值的目标。
我正在尝试执行以下操作:
sheet.Cells(row, col).Value = newVal ' this is VB
我已将 Cells 声明为:
public Cell Cells(int x, int y) // this is C#
{
return new Cell(this, x, y);
}
public struct Cell
{
Worksheet ws;
int x;
int y;
public Cell(Worksheet ws, int x, int y)
{
this.ws = ws;
this.x = x;
this.y = y;
}
public object Value
{
get { return ws.GetCellValue(x, y); }
set { ws.SetCellValue(x, y, value); }
}
}
我怎么解决这个问题?我不希望 Cell 成为一个类,而是成为一个结构,因为否则任何访问都会在堆上创建一个新对象。当然我可以缓存所有创建的单元对象,但这可能会引入错误并浪费大量内存和新的间接层。
有更好的方法吗?