c#/.net 3.5 を使用しています。初めて WCF を使用するとき、バックエンド WCF プロジェクトの 2 つのプロジェクトがあります。
namespace WcfService1
{
[ServiceContract]
public interface ICalculationService
{
[OperationContract]
Int32 add(ArrayList arr);
[OperationContract]
Int32 mean(ArrayList arr);
}
}
namespace WcfService1
{
public class CalculationService : ICalculationService
{
public Int32 add(ArrayList arr)
{
Int32 total = 0;
Int32 sum = Convert.ToInt32(arr);
foreach (int i in arr)
{
total += i;
}
return total;
}
public Int32 mean(ArrayList arr)
{
Int32 total = 0;
foreach (int i in arr)
{
total += i;
}
total = total / arr.Count;
return total;
}
}
}
このバックエンドは単純な数学的計算を行い、値はフロントエンドで生成されます。
およびフロント エンド GUI (Windows フォーム アプリケーション)。
public partial class Form1 : Form
{
ArrayList arr = new ArrayList();
List<Int32> Mylist = new List<Int32>();
public Form1()
{
InitializeComponent();
}
private void button1_Click_1(object sender, EventArgs e)
{ //Generating the Arraylist
string lista = txtArray.Text;
string[] array = lista.Split(',');
int length = array.Length;
for(int i=0; i< length; i++)
{
Int32 value = Convert.ToInt32(arr[i]);
Mylist .Add(value);
result.Text += arr[i];
}
}
private void button1_Click(object sender, EventArgs e)
{
CalculationServiceClient client = new CalculationServiceClient();
Int32 result = client.add(arr);
}
}
}
ボタンを最初にクリックすると、コンマ区切りの値を使用して ArrayList が生成されます。2 回目のボタン クリックは、サーバー側からメソッドを呼び出すことになっています。
最後の行でエラーが発生しました Int32 result = client.add(arr); 'Can't convert type Arraylist to type object[]' というエラー ジェネリックを使用してみましたが、同じ問題が発生します。