我正在使用 c#/.net 3.5。第一次使用 WCF,我有 2 个后端 WCF 项目:
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。第二次按钮单击应该从服务器端调用该方法。
我在最后一行收到错误 Int32 result = client.add(arr); 错误是“无法将类型 Arraylist 转换为类型对象 []”我尝试使用泛型,我遇到了同样的问题。