0

私はRobolectricを使用しています.Robolectricクラスには静的メソッドがあります:

public static <P, R> P shadowOf_(R instance) {
    return (P) ShadowWrangler.getInstance().shadowOf(instance);
}

私は長い間 C# Generics のバックグラウンドを持ってきたので、これについて間違って考えている可能性があります。私の最初の本能は、これをそのまま利用することでした:

Robolectric.shadowOf_<MyShadow>(myInstance).foo(); 

ただし、これはコンパイルされません (さらに、私と私の C# ジェネリックの背景には、正しく見えません)。

この方法を使用するにはどうすればよいですか?

メソッドのソースはここにあります。

4

2 に答える 2

2

私はあなたが必要だと信じています:

Robolectric.<MyShadow,X>shadowOf_(myInstance).foo(); 

Xの型が何であれ、どこにあるのmyInstanceか。

于 2011-06-07T22:24:03.447 に答える
0

コンパイラはPが何であるかを推測できません。ここでPがAであると仮定すると、次のことができます。

A a = Robolectric.shadowOf_(myInstance); // compiler can infer P=A here
a.foo();
于 2011-06-07T22:44:18.070 に答える