Trong khi thực hiện tái cấu trúc, tôi đã tạo ra một phương thức như ví dụ bên dưới. Kiểu dữ liệu đã được thay đổi vì mục đích đơn giản.
Trước đây tôi đã có một câu lệnh gán như thế này:
MyObject myVar = new MyObject();
Nó đã được cấu trúc lại một cách tình cờ:
private static new MyObject CreateSomething()
{
return new MyObject{"Something New"};
}
Đây là kết quả của lỗi cắt / dán từ phía tôi, nhưng newtừ khóa trong private static newlà hợp lệ và được biên dịch.
Câu hỏi : newTừ khóa biểu thị điều gì trong một chữ ký phương thức? Tôi cho rằng đó là thứ được giới thiệu trong C # 3.0?
Làm thế nào để điều này khác với override?
newas aa modifier trên một phương thức (hoặc thành viên kiểu khác) không phải là "thứ được giới thiệu trong C # 3.0". Nó đã có từ phiên bản đầu tiên của C #.