課題に取り組んでいますが、理解できないこのエラーが発生します。動作するサービス用のWCFクライアントを作成しています。誰かがここで私を助けることができますか?
この行はエラーをスローしています:
MyComplex sumcplx = proxy.complex_sum(one,two);
エラーが発生します
エラー:「NETProxyWCFClient.ProxyTypes.CalculatorClient.complex_sum(NETProxyWCFClient.ProxyTpes.MyComplex、NETProxyWCFClient.ProxyTpes.MyComplex)」に最適なオーバーロードされたメソッドの一致には、いくつかの無効な引数があります
私のプログラムへのコード
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.Runtime.Serialization;
using System.ServiceModel.Description;
namespace NETProxyWCFClient
{
    [DataContract]
    public class MyComplex
    {
        int real;
        [DataMember]
        public int Real
        {
            get { return real; }
            set { real = value; }
        }
        [DataMember]
        int im;
        public int Im
        {
            get { return im; }
            set { im = value; }
        }
    }
    [ServiceContract]
    interface ICalculator
    {
        [OperationContract]
        int mult(int a, int b);
        [OperationContract]
        List<int> fib(int n);
        [OperationContract]
        MyComplex complex_sum(MyComplex a, MyComplex b);
    }
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Enter in 2 numbers");
            string read = Console.ReadLine();
            string[] numbers = read.Split(' ');
            int m = int.Parse(numbers[0]);
            int n = int.Parse(numbers[1]);
            ProxyTypes.CalculatorClient proxy = new ProxyTypes.CalculatorClient();
            //Multiplcation
            int sum = proxy.mult(m, n);
            Console.WriteLine(sum.ToString());
            //Mycomplex
            MyComplex one = new MyComplex();
            one.Im = m;
            one.Real = n;
            MyComplex two = new MyComplex();
            two.Im = n;
            two.Real = m;
            MyComplex sumcplx = proxy.complex_sum(one,two);
            Console.WriteLine(sumcplx.Im + " , " + sumcplx.Real);
            //fib one
            int[] listM = proxy.fib(m);
            foreach (int listItem in listM)
            {
                Console.Write(listItem.ToString() + " ");
            }
            Console.WriteLine("");
            //fib 2
            int[] listN = proxy.fib(n);
            foreach (int listItem in listN)
            {
                Console.Write(listItem.ToString() + " ");
            }
            Console.ReadLine();
        }
    }
}