Tôi muốn ghi đè phương thức Tostring() để thay đổi một số ký tự. Có thể không? Nếu có, Làm thế nào tôi có thể làm điều này?Làm thế nào tôi có thể ghi đè lên phương thức ToString() trong C#?
Trả lời
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
.
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
}
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
}
Xem ví dụ tại MSDN.
public override String ToString()
{
return String.Format("Test {0}", 101);
}
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
}
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():
JSON serialization (hoặc DataContractJsonSerializer, JSON.NET hoặc gói NuGet JsonValue).
XMLSERIALIZE
LINQPad của dump an arbitrary object to an HTML string
ServiceStack.Text C# .NET Extension method: T.Dump();
- 1. Làm thế nào tôi có thể ghi đè lên phương thức toString của một ArrayList trong Java?
- 2. Ghi đè phương thức toString trong Liệt kê Scala
- 3. Ghi đè phương thức ghi đè (C#)
- 4. Tôi có thể ghi đè lên @RequestMapping trên một kiểu cho một phương thức không?
- 5. Làm thế nào để ghi đè lên stdout trong C
- 6. có thể đánh dấu phương thức ghi đè là
- 7. C# Ghi đè phương thức GetHashCode
- 8. Làm thế nào để ghi đè lên một phương pháp variadic trong Objective-C
- 9. Java enum ghi đè toString()
- 10. Làm thế nào tôi có thể ghi đè lên một bảng tính chiều rộng trong CSS
- 11. Làm cách nào để ghi đè lên các phương thức đối tượng C++ lồng nhau?
- 12. Làm thế nào tôi có thể ghi đè lên một phương thức cha mẹ trong coffeescript trong khi vẫn có thể gọi cho phụ huynh
- 13. C#: Ghi đè phương thức ToString() cho các ngoại lệ tùy chỉnh
- 14. Có cách nào trong C# để ghi đè lên một phương thức lớp với một phương pháp mở rộng?
- 15. Phương thức .ToString() hoạt động như thế nào?
- 16. Có thể ghi đè phương thức không phải ảo không?
- 17. Có thể ghi đè lên một phương thức tĩnh trong lớp dẫn xuất không?
- 18. Làm cách nào để tôi có thể đặt setHeader ghi đè lên tiêu đề hiện tại?
- 19. Làm cách nào để tôi có thể ghi đè lên khối bố cục TWIG?
- 20. Làm thế nào tôi có thể ghi đè lên các phương thức trong Java khi tôi tạo một đối tượng thông qua sự phản chiếu?
- 21. Ghi đè đăng ký ghi đè Tạo Phương thức
- 22. Truy vấn phương thức ẩn của NSURLParameters có thể ghi đè lên danh mục
- 23. Làm thế nào để ghi đè lên một thuộc tính lớp kế thừa trong C#?
- 24. Phân lớp C mục tiêu ghi đè lên một phương thức trong siêu lớp
- 25. Làm thế nào để ghi đè lên WebServiceHostFactory MaxReceivedMessageSize?
- 26. Groovy có thể tự động thêm hoặc ghi đè lên một phương thức trên POJO không?
- 27. Gọi phương thức ghi đè, siêu lớp cuộc gọi đã ghi đè phương thức
- 28. Làm rõ phương pháp ghi đè lên trộn bằng Ruby
- 29. serialization JSON.NET nếu ghi đè ToString
- 30. Ghi đè phương thức ở cấp độ