【发布时间】:2012-04-22 11:04:11
【问题描述】:
让我们看一个网格填充的例子。
我们有 Column 类。它有一个委托 FormatCell,它接受一些 Data 并将其转换为 string。 FormatCell 委托在设计时是未知的 - 它可能由插件设置。
public class ColumnFormatter
{
public Func<Data, string> FormatCell {get; set;}
//...
}
以下是如何使用此类列的示例。
public class Table
{
public List<Column> Columns;
public List<List<string>> BuildTable(List<Data> dataRows)
{
var table = new List<List<string>>();
foreach (var data in dataRows)
{
var line = new List<string>();
foreach (var column in Columns)
{
line.Add(column.FormatCell(data));
}
table.Add(line);
}
return table;
}
}
现在每一列都应该保存它的状态。问题是如何序列化这个 FormatCell 委托?
附:我知道this question,但我的问题更具体。对于这种情况,也许有人有一个特定的可靠的磨合解决方案?
【问题讨论】:
-
支持,委托对象是二进制序列化的。完全不清楚您为什么会遇到问题,或者您想要使用哪种序列化,或者您为什么需要它,或者您是否尝试过让它工作。
标签: c# serialization delegates