contravariance

    2

    2答えて

    次の簡略化されたC++クラス階層を例に挙げてください。私が達成したいのは、Serviceが任意のModelオブジェクトを保存する仮想メソッドを提供するということです。しかし、Serviceの各サブクラス、例えば。 BoxServiceは、Boxオブジェクトのみ保存してください。私の質問は、そのための任意の好適な設計パターンやベストプラクティスがあるさ void save(Box box); :

    2

    1答えて

    Hasqlを取得して、「select ... where in」クエリのリストをエンコードしようとしています。 contramanyをcontravariant-extrasから使用しているかどうかをタイプチェックしますが、実行時に構文エラーが発生します。 import qualified Database.Encoders as E import Contravariant.Extras

    0

    1答えて

    にかかわらず、左側のパラメータの分散の、次の宣言でTaとTb上に置かれた制約はです。TypeCheckに失敗: class A<+TCov, -TCon, [±]Ta as TCov, [±]Tb super TCon> { public function __construct(private Ta $ta, private Tb $tb) {} // [various me

    16

    2答えて

    私は可変であることinfoを必要実現コード module type TS = sig type +'a t end module T : TS = struct type 'a t = {info : 'a list} end のこの部分を書き込んだ後。 私はその後、書いた: module type TS = sig type +'a t end m

    -2

    1答えて

    私は共変性と反変性について最近読ん - 少しのコード例を以下: public class BaseClass{ public int x = 1; public static void print(BaseClass objClass) { Console.WriteLine(objClass.GetType().Name + " " + objClas

    0

    1答えて

    私は実際にはのContravarianceとCovariance programを使用しています。私はさまざまなブログを見ましたが、実装できる場所はまだ混乱しています。

    0

    1答えて

    this msdn documentation共分散および反分散については、outキーワードを使用して汎用パラメータ共変を宣言することが説明されています。 outキーワードを使用すると、汎用型パラメータ共変を宣言できます。 はその後outキーワードの使用方法の一例を与えられ、その後、このステートメントは、「私が呼ばれるべきだと思うおり、「反変」であるメソッドのパラメータとしてデリゲートについて言わ

    3

    2答えて

    は考える: class Contravariant (f :: * -> *) where contramap :: (a -> b) -> f b -> f a 次のコードは拒否されます。私はコントラマッピングInt -> Boolの結果として(述語)をString -> Int以上に得ることを期待しています。私は間違った前提をしなければならないので、私は馬鹿だと感じる。エラーメッ

    3

    1答えて

    継承された型の反復型を反例にする方法はありますか?以下のサンプルコードを参照してください。私はEntity Frameworkのためにこれが必要です。 public class InvoiceDetail { public virtual ICollection<Invoice> Invoices { get; set; } } public class SalesInvoice

    1

    1答えて

    私はScalaでプログラミングを読んでいますが、コンパイラが位置が負、中立、または正であるかどうか、正確に位置として定義されているかどうかを推論するルールについてはいくつか解説します。 私は、この質問がここでたくさん尋ねられていることを知っていますが、それらの回答を読むと私はさらに混乱します。 だから、この本を参考にして少し変更してみれば、私の質問はより簡単に表現できます。 abstract cl