C# 重用格式化显示对象的代码

C# 重用格式化显示对象的代码,c#,.net,formatting,C#,.net,Formatting,我有一个对象列表,这些对象是类的实例。 我想对它们进行格式化以供显示,我希望格式化显示的代码可以重用。 因此,它可以在.aspx页面中使用,也可以在将数据导出到excel时使用 我开始创建一个函数,该函数返回一个匿名类对象,并格式化该类的所有字段 public Object GetForDisplay() { return new { RecordNum, ID,

我有一个对象列表,这些对象是类的实例。 我想对它们进行格式化以供显示,我希望格式化显示的代码可以重用。 因此,它可以在.aspx页面中使用,也可以在将数据导出到excel时使用

我开始创建一个函数,该函数返回一个匿名类对象,并格式化该类的所有字段

public Object GetForDisplay()
        {
            return new
            {
                RecordNum,
                ID,
                Value = Value.HasValue?  Value.Value.ToString("0.##"): "-",
                ...
            };
        }
但这不允许我在需要对属性进行细微更改时访问这些属性

我的下一次尝试是返回一个包含所有字段的
字典(字符串是字段名)

公共字典GetForDisplay()
{
返回新词典
{
{“RecordNum”,RecordNum},
{“ID”,ID},
{“Value”,Value.HasValue?Value.Value.ToString(“0.###”):-“},
}
}

我想知道有没有更好的方法?你会创建一个新的类来保存格式化的数据吗?

你不能简单地重写每个类的
ToString()
方法,这样你就可以将它传递给任何函数来显示在屏幕上吗?你需要学习如何正确地使用ASP.NET进行开发。。。这是你的问题,不是上面的问题,而是你还不知道如何使用ASP.NET。对于上述情况,您可以编写用户控件或Web控件。例如,请参见。祝你好运。让你的类实现IFormattable并使用自定义IFormatProvider和ICustomFormatter在显示棘手的/可能的空/组合值时会有所帮助
public Dictionary<String, Object> GetForDisplay()
        {
            return new Dictionary<String, Object>
            {
                {"RecordNum", RecordNum},
                { "ID", ID },
                { "Value ",  Value.HasValue?  Value.Value.ToString("0.##"): "-"},
             }
}