Làm thế nào để bạn xác định một phương pháp mở rộng tĩnh trong Kotlin? Điều này thậm chí có thể? Tôi hiện đang có một phương pháp mở rộng như hình dưới đây.Phương pháp mở rộng tĩnh trong Kotlin
public fun Uber.doMagic(context: Context) {
// ...
}
Tiện ích mở rộng trên có thể được gọi trên một phiên bản.
uberInstance.doMagic(context) // Instance method
nhưng làm cách nào để làm cho phương pháp tĩnh như được hiển thị bên dưới.
Uber.doMagic(context) // Static or class method
Ý của bạn là gì theo "phương pháp mở rộng tĩnh"? –
Một phương pháp mà tôi có thể gọi mà không cần một cá thể, nhưng vẫn là một phần mở rộng của lớp. (Các phương thức tĩnh Java thông thường) –
Tôi nghĩ rằng nó có thể không phải là mục đích sử dụng của [phần mở rộng Kotlin] (http://kotlinlang.org/docs/reference/extensions.html) câu hỏi hay, tôi đã nghĩ về cùng một điều trong khi cố gắng suy luận khái niệm C#. Nhưng trong khi thực tế việc sử dụng khá giống nhau. Kotlin mở rộng, trong khi họ yêu cầu được gửi đi tĩnh, họ cảm thấy như tự động "đính kèm", nếu có một điều như vậy, hoặc cuối bị ràng buộc để dụ. Nếu tôi không nhầm lẫn ... hoặc có lẽ tôi đã nhận nó hoàn toàn sai :) – Dan