1

そのため、Linq を使用して XML ドキュメント (学生の名前と ID を含む) を xml にロードしている C# プロジェクトがあり、WCF サービスから関連データ (期日、金額など) を取得する必要があります。右クリックしてサービス参照を追加するだけでサービスを追加し、配列を GetData 関数に渡す必要があります。これは初期化しましたが、明らかに null です。配列をサービス型に変換できず、関数も配列を返します。配列を studentArray に割り当てるにはどうすればよいですか?

 ServiceReference1.ServiceClient client = new ServiceReference1.RycorServiceClient();

Application.ServiceReference1.Student[] studentArray = new ServiceReference1.Student[9];

        Student[] array = studentList.ToArray();

        //for (int i = 0; i <= array.Count(); i++)
        //    studentArray[i] = (RycorApplication.ServiceReference1.Student)array[i];

        //this gives me an error says Cannot convert type 'Application.Student' to 'Application.ServiceReference1.Student'.

        var data = client.GetData(studentArray);

このデータを取得した後、このデータを XML ファイルに保存するにはどうすればよいですか?

4

2 に答える 2

1

Application.Student が異なるタイプであるため、このエラーが発生しています。「studentList」タイプの代わりに、Application.ServiceReference.Student を使用して学生のリストを保存できます。

「studentList は "Application.Student" リストであり、同じモデルを使用するか、次のようなものを使用してそれらの間でコピーを作成する必要があると思います (最初の回答で): あるオブジェクトから別のオブジェクトに値をコピーする

于 2013-02-17T04:11:13.423 に答える
0

あなたはほとんどこれをしなければなりません:

List<ServiceReference1.Student> wcfStudentList = new System.Collections.Generic.List<ServiceReference1.Student>();
        foreach (var student in studentList)
        {
            wcfStudentList.Add(new ServiceReference1.Student()
            {
                ID = student.ID,
                Name = student.Name,
                ..etc..
            });
        }
        var data = client.GetStudentData(wcfStudentList.ToArray());

オブジェクト全体を渡すのではなく、学生 ID のリストを取得できるのに、なぜ WCF 呼び出しを変更しないのか疑問に思う必要がありますか?

于 2013-02-17T04:57:01.530 に答える