2

我正在使用 Ignite UI 工具集来生成 Excel 电子表格。我有一些在我的应用程序的旧版本中运行的代码(我从旧的 SVN 代码中提取了源代码),但现在我遇到了一个非常奇怪的问题。

我得到的例外是:

An exception of type 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' 
occurred in Unknown Module. but was not handled in user code

Additional information: 'object' does not contain a definition for 'Fill'

If there is a handler for this exception, the program may be safely continued.

这是调试器的屏幕截图,显示 cell.CellFormat.Fill(我正在尝试设置并获取异常)正在显示在监视窗口中。请注意,单元格本身是一个动态对象。

调试器截图

任何人都知道可能导致这种情况的原因是什么?也许我只是没有足够地处理动态对象,但在我看来,“填充”确实存在。

4

1 回答 1

3

我的问题由 Infragistics 回答,但如果其他人也遇到它,请提供解决方案。

解决方案只是将单元格转换为 WorksheetCell 而不是在 foreach 循环中使用 var ,因此:

foreach (WorksheetCell cell in region)
{
    cell.CellFormat.Fill = CellFill.CreateSolidFill(System.Drawing.Color.Gray);
    cell.CellFormat.Font.ColorInfo = new WorkbookColorInfo(System.Drawing.Color.White);
}

我不完全确定为什么会修复它,所以我计划在某个时候深入研究它,并可能在我拥有它时用该信息更新这个答案。

于 2013-03-21T15:22:58.893 回答