nói, tôi đã điều sau đây:Làm thế nào để gọi một phương thức đối tượng Scala bằng cách sử dụng sự phản chiếu?
trait SomeTrait {
def someMethod: String;
}
object SomeObject extends SomeTrait {
def someMethod = "something";
}
tôi muốn gọi là "someMethod" sử dụng phản chiếu như tôi có tên đối tượng như là một String. Một cái gì đó như:
val objectName = "SomeObject"
val someTrait:SomeTrait = ???.asInstanceOf[SomeTrait]
someTrait.someMethod
hoặc tương tự.
Cảm ơn
Tôi nghĩ rằng nó phá vỡ sự mong đợi của khách hàng của đối tượng đồng hành (singleton) nếu bạn tạo ra các phiên bản mới của nó. –
Arjan - cảm ơn. Đó chính xác là những gì tôi đang tìm kiếm. Thomas - Đúng vậy. Nhưng bạn luôn có thể quấn mã trong một nhà máy đối tượng và tự cung cấp hành vi singleton. – sanjib