1

ばかげた質問..。

私はC#ジェネリックを使用して何かを書いていますが、短所を見つけたように感じます。それは、私が漠然としか知らないScalaでより高い種類の型を使用することで克服できるかもしれません。

コードは次のとおりです。

public void Subscribe<P, T>(Action<T> callback) where P : ISubscriberProvider<T>

(プロバイダーはおそらく悪い用語です...私はそれが本当に工場かもしれないと思います)

したがって、問題は、署名にPとTの両方を指定する必要があるということです。代わりに、次のようなものが必要です。

public void Subscribe<P<T>>(Action<T> callback) where P : ISubscriberProvider<T>

これは有効な構文ではありません。

これはScalaで有効にできますか?

どうもありがとう!

4

1 に答える 1

4

C#はわかりませんが、

def subscribe[T, P <: SubscriberProvider[T]](fun: T => Unit): Unit

ただし、その型Pは引数または戻り型のどこにも使用されていないため、どのように使用できるかわかりません。

于 2012-08-16T18:46:10.577 に答える