tôi có chức năng nàyVấn đề với chuyển đổi ngầm và null
public static implicit operator MyClass(string v) { return new MyClass(v); }
và viết var.myclass = null ;. Điều này gọi toán tử ngầm và chuyển null thành chuỗi, gây ra sự phá hoại trong mã của tôi (tôi sử dụng sự phản chiếu và không muốn thêm một trường hợp đặc biệt). Làm thế nào tôi có thể viết myclass = null mà không gây ra các nhà điều hành tiềm ẩn?
Tôi cố gắng viết
public static implicit operator MyClass(string v) { return v == null ? null : new MyClass(v); }
Nhưng điều đó gây ra một stackoverflow
Cấu trúc MyClass có phải là cấu trúc không? Đối số của bạn tạo ra đối số nào? – SLaks
Thay vào đó, bạn có thể viết nó làm nhà điều hành không? –
Tôi không thể tái tạo sự cố của bạn; bạn có thể có cái gì khác sai. – SLaks