ZeroC Ice for Java将每个 Slice 接口Simple
转换为(除其他外)代理接口SimplePrx
和代理SimplePrxHelper
。如果我有一个(所有代理的基本接口),我可以通过使用静态方法ObjectPrx
检查它是否真的有接口:Simple
SimplePrxHelper
val obj : Ice.ObjectPrx = ...; // Get a proxy from somewhere...
val simple : SimplePrx = SimplePrxHelper.checkedCast(obj);
if (simple != null)
// Object supports the Simple interface...
else
// Object is not of type Simple...
我想写一个方法castTo
,这样我就可以用
val simple = castTo[SimplePrx](obj)
或者
val simple = castTo[SimplePrxHelper](obj)
就我所见,Scala 的类型系统的表达力不足以让我定义castTo
. 它是否正确?