クラス定義を自分の実装に置き換える(または上書きする)ことはできますか?C#でのクラス実装の置き換え
説明:
- 私はSystem.Randomインスタンスを持つクラスを持っている、と私は、元のコードを変更せずにテストにそれをしようとしています...
- だから私はランダムに置き換えることを計画していますクラスを生成したシーケンスを制御することができます。this questionを参照してください。
`
class foo
{
Random r=new Random();
double bar()
{
double ans=r.NextDouble();
.....// evaluate ans
return ans;
}
}
`
(または最小限の変更で)元のコードファイルを変更せずに、私は別のもので、ランダムクラスの実装を置き換えることができます可能な方法は何ですか?
編集:
は 一つの解決策は、ランダムクラスを継承し、それを変更することです...しかし、それは継承されたものとそれぞれランダムインスタンスを変更する必要があり、私はちょうどそれをテストしていので...私は、コードを変更する必要はありません!!
編集2:
C#で言うことができます: "このファイルの各ランダムなクラスは、MyNamespace.Random System.Random"ではありませんか?
あなたは明確にすることはできますか?それがメンバーの場合は、一部を交換するだけですか?あなたは新しいものを追加するためにそれを拡張したいですか? – CodingGorilla
あなたはモックを作成した後のように聞こえるでしょうか? – Lucero
@Lucero +1、私はこの機能を使用して生成される乱数を設定しているのでNextDouble()を呼び出す前に、このランダムクラスに関数setNextSequence(ダブル[])を追加することが心配です同じこと – CodingGorilla