-3

私は自分の WCF にファクトリ デザイン メソッドを実装していますが、この行にいくつかのエラーがあると思います:

return svc.Calculation(int value1 + int value2);

ここに私の他のコードがあります:

namespace CompositeWCF
{
public class Service1 : IService1
{
    public int Calculation(int value1, int value2, string calType)
    {
        try
        {
          IService1 svc;

          switch (calType)
            {
                case "addition":
                    svc = new addition();

                case "subtraction":

                    svc = new subtraction();

                case "multiplication":

                    svc = new multiplication();

                case "division":
                    svc = new division();

            }

          return svc.Calculation(int value1 + int value2);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

        return 0;
        }
    }
}

「足し算」「引き算」「掛け算」「割り算」の4つのクラスがあります

これに似たコードがあります

    namespace CompositeWCF
    {
    class addition:IService1
    {
        public int Calculation(int value1, int value2)
        {
            return value1 + value2;
        }
    }
}

これは、2 つの値と計算タイプであるユーザー入力を取得し、それらを使用して特定のクラスから計算を実行することになっています。

4

1 に答える 1

1

まず、「この行にエラーがあると思います」と言って、実際にエラーを提供しないと、反対票が入ります。膨大な量のコードをコピーして貼り付けて、「エラーがあります。見つけてください」と言ったら..できるでしょうか?

しかし、あなたのエラーは非常に明白なので..これが私の答えです:

return svc.Calculation(int value1 + int value2);
                       ^^^          ^^^
                // Remove this     Remove this

また、コメントで David が指摘したように、この関数は 2 つの別々の引数を取ります。

return svc.Calculation(value1, value2);

変数を返すときは型名を含める必要はありません。宣言するときだけです。ある時点で、次のようなキャストに出くわすことがあります。

return svc.Calculation((int)value1, (int)value2);
// Notice the parenthesis

..ただし、例では必要ありません。

于 2013-02-11T01:53:31.507 に答える