Có điểm nào trong việc này không?Đấm bốc, một điều của quá khứ?
public static void Write<T>(T value)
{
textWriter.Write(value.ToString());
}
... như phải này:
public static void Write(object value)
{
textWriter.Write(value.ToString());
}
Thiết sang một bên khả năng vô dereference rõ ràng, Nếu tôi ở đâu để viết rất nhiều loại giá trị sử dụng phương pháp này sẽ không phải là cựu được nhiều tốt hơn bởi vì nó sẽ có phiên bản riêng của phương pháp ghi để gọi, hoặc là nó sẽ sưng lên nhị phân trong điều khoản của rất nhiều mã bổ sung được tạo ra?
Hàm ý hiệu suất của một thứ như vậy có thể không đáng kể, nhưng tôi tò mò, nó nhỏ gọn hơn nhiều so với việc cung cấp quá tải cho mỗi loại giá trị trong BCL, giống như hầu hết các nhà văn trong BCL đã làm.
Tất cả các cuộc gọi phương pháp đều thực sự ảo? Tôi nghi ngờ chỉ có giao diện situtation để làm cho boxing cần thiết, @Edit 3 bây giờ đó là hơi ngạc nhiên. Tôi sẽ nghĩ nó là một cách khác, mặc dù với các kiểu giá trị thì nó khác một chút vì bạn không thể thừa kế, vì vậy thực sự không thể là các phương thức ảo trên các kiểu giá trị và btw, đây là một câu trả lời tuyệt vời! –