我想在泛型类型T上编写一个扩展方法,其中匹配的类型限制了方法参数。
我希望这个能够编译通过:
我希望这个能够编译通过:
"Hello".thing("world")
但是这个不行,因为42不是一个字符串:
"Hello".thing(42)
这个定义不可行,因为 T 可以被 Any
满足。
fun <T> T.thing(p: T) {}
invoke()
函数添加到Wrapper
中,使得这个解决方法在语法上与函数调用完全相同,但是编译器似乎存在一个错误,阻止我这样做。 - hotkey("abc".foo)("abc")
也可以工作。 :D - hotkey.get()
即可。 - Duncan McGregor