c# – 覆盖匿名对象的ToString()实现

        var sample = new
        {
            Time = DateTime.Now,
            Name = "Hello"
        };
        Trace.TraceInformation("{0}", sample);

输出为

ProcessInvocation86.exe Information: 0 : { Time = 04.11.2012 22:07:52,
Name = Hello }

我想在我的应用程序中使用不同的格式.有没有办法在C#中更改匿名对象的ToString()实现?可能每个AppDomain还有一些静态字段?

最佳答案
不,你不能这样做 – ToString,Equals和GetHashCode都有框架提供的默认实现.要覆盖此功能,您应该从您的匿名类型继承,这是不可能的.

使用String.Format获取所需的输出.

转载注明原文:c# – 覆盖匿名对象的ToString()实现 - 代码日志