0

私は次のものを持っています:

Calculator cl = new Calculator();

そして、私はメソッドを持つクラスを持っています:

public class Testing {
  public void Calc(int x) {
  }
}

Calc 内部で使用できるように、Calculator を Calc メソッドにデリゲートしたいと思います。

これは理にかなっていますか?これどうやってするの?

4

3 に答える 3

3

あなたが何を求めているのか正確に伝えるのは難しいです。しかし、クラスが使用することを意図しCalculatorたある種の「サービス」をクラスTestingが表す場合、一般的な方法はフィールドを使用することです。

public class Testing
{
  private readonly Calculator calculator = new Calculator();

  public void Calc(int x)
  {
    // use calculator here
  }
}

Calculatorが実際に構成可能であるか、またはそのようなものであり、内部で初期化したくない場合は、Testingコンストラクターのパラメーターとして使用できます。

public class Testing
{
  private readonly Calculator calculator;

  public Testing(Calculator calculator)
  {
    this.calculator = calculator;
  }

  public void Calc(int x)
  {
    // use calculator here
  }
}
于 2013-10-17T22:15:13.723 に答える