私は一般的なタイプのパラメータについて話していないことに注意してください。なぜC#とAdaの汎用パラメータには同等のものがありませんか?
たとえば、Adaでは、型の代わりに値を使用して初期化する必要があるパッケージを書くことができます。例えば
generic
Size : Positive;
package Sudokus is
subtype Values is Positive range 1..Size*Size;
type Choice is private;
type Sudoku is private;
procedure Fill(S : out Sudoku);
procedure Init(S : out Sudoku);
procedure Solve(S : in out Sudoku);
procedure Print(S : Sudoku);
Unsolvable_Grid_Error : exception;
そして、これはそれを使用する方法である:
package My_Sudoku is new Sudokus(3); -- 3 for 9x9 solver, 4 for 16x16 solver, etc.
私は等価ではありませんと思いますが、私はそれが非常に便利。 この欠席理由はありますか?
あなたは一般的にコンストラクタに渡すことができますか? – Rup
コンストラクタ呼び出しで簡単に解決できない例を提供できますか? –
ベクトル構造体。しかし、それはたぶん2から4までの各次元に対して一度良い方が良いでしょう。 – CodesInChaos