var sample = new
{
Time = DateTime.Now,
Name = "Hello"
};
Trace.TraceInformation("{0}", sample);
kết quả đầu ra nhưOverride ToString() thực hiện mang tính chất đối tượng
Thông tin ProcessInvocation86.exe: 0: {Time = 2012/04/11 22:07:52, Tên = Xin chào}
Tôi muốn định dạng khác trong ứng dụng của mình. Có cách nào để thay đổi việc thực hiện các ToString() cho các đối tượng vô danh trong C#? Có lẽ một số trường tĩnh trên AppDomain
hoặc một cái gì đó?
Có lẽ không phải cho các kiểu nặc danh. Khi bạn bắt đầu di chuyển từ một cấu trúc dữ liệu đơn giản đến một đối tượng hơi phong phú hơn, cho thấy chức năng (chẳng hạn như ghi đè phương thức), bạn sẽ cần xác định một loại rõ ràng. – David
Tôi đã thực hiện điều này: 'var sample = new {Time = DateTime.Now, Name =" Hello ", ToString = new Func (() => {return" xxx ";})}; Console.WriteLine (" {0} ", sample.ToString());'. Unfortunatelly có vẻ như không có cách nào để truy cập 'this' từ ToString Func, vì vậy nó có thể chỉ trả về hằng số hoặc biến toàn cầu - vô dụng tôi đoán: ( –
Ondra