2010-02-23 57 views

Trả lời

15

Theo câu hỏi của bạn, để thay đổi số các ký tự trong triển khai ToString, bạn cần gọi phương thức ToString hiện tại bằng cách sử dụng từ khóa base:

public override string ToString() 
{ 
    return base.ToString().Replace("something", "another thing"); 
} 

Lưu ý rằng nếu bạn quên từ khóa base, từ khóa sẽ tự động gọi liên tục cho đến khi bạn nhận được StackOverflowException.

16

Trong lớp học của bạn nơi bạn muốn ghi đè lên nó trong, thêm:

public override string ToString() 
{ 
    // return your string representation 
} 
5

Thêm dòng sau trong lớp bạn muốn ghi đè các chức năng ToString:

public override string ToString() 
{ 
    // Add your implementation here 
} 
3

Xem ví dụ tại MSDN.

public override String ToString() 
{ 
    return String.Format("Test {0}", 101); 
} 
3

Tất cả bạn cần là cố gắng viết public override, và sau đó Visual Studio sẽ tạo ra phương pháp cho bạn như thế này:

public override string ToString() 
{ 
     // Implement your own code and return desired string 
} 
0

Nếu ai đó tìm câu trả lời chung cho "Cách ghi đè phương thức ToString()", tôi đã viết một bài đăng, "Override ToString() using JSON serialization or something else".

Trong một bản tóm tắt, các công nghệ sau đây có thể được sử dụng để đơn giản hóa việc tạo ra ToString():

  1. JSON serialization (hoặc DataContractJsonSerializer, JSON.NET hoặc gói NuGet JsonValue).

  2. XMLSERIALIZE

  3. LINQPad của dump an arbitrary object to an HTML string

  4. ServiceStack.Text C# .NET Extension method: T.Dump();

Các vấn đề liên quan