2

私はwcfサービスでこのような方法を持っています

public string PostAllSurveList(List<Survey> surveyList)
        {
            var surveyDbList = ConstructDbServeyList(surveyList);
            foreach (var survey in surveyDbList)
            {
                _db.surveys.Add(survey);
            }
            _db.SaveChanges();
            return "Successfully Saved";
        }

今私の質問は、クライアント コードからこのメソッドを呼び出す方法です。つまり、まず調査リストを作成する必要があります。このリストを作成するにはどうすればよいですか。

string reply = client.PostAllSurveList(How can I construct this List?);

参考までに、私は C# でクライアント コードを書いています。

前もって感謝します。

4

4 に答える 4

3
var list = new List<Survey>();    
string reply = client.PostAllSurveList(list);

そして、6 行のコードに 3 つの異なるスペルがあるため、 Surveyのスペルを知っていることを確認する必要があります。コードは書き言葉であり、声に出して話すと多少似ているとうまくいきません。

編集: クライアントを生成するときに、コレクションのオプションとして「リスト」を選択したことを確認してください。配列を選択したようです。これは、関数がクライアント側で配列を受け取るようになったことを意味します。

var list = new List<Survey>();    
string reply = client.PostAllSurveList(list.ToArray());
于 2013-05-23T09:04:39.267 に答える
1

調査項目を作成してリストに追加し、リストをパラメーターとして渡します。

Survey survey1 = new Survey();

survey1.property1= value;
survey1.property2= value;

Survey survey2 = new Survey();

survey2.property1= value;
survey2.property2= value;

List<Survey> listSurvey = new List<Survey>();
listSurvey.add(survey1);
listSurvey.add(survey2);

string reply = client.PostAllSurveList(listSurvey);
于 2013-05-23T09:03:50.353 に答える
1

次のようにリストを作成し、次のように指定します。

var list = new List<Survey>();
string reply = client.PostAllSurveList(list);

編集:ObservableCollectionへのサービス参照を更新 ここに画像の説明を入力

于 2013-05-23T09:05:05.640 に答える
0

試す:

var list = new List<Survey>();
string reply = client.PostAllSurveList(list);

またはを使用してCollection Initializer

string reply = client.PostAllSurveList(new List<Survey> { });

ただし、メソッド内の変数を直接操作しlistない限り、ビジネス ロジックの別の場所に入力する必要があります。ConstructDbServeyList

.Add()メソッドを使用してリストに追加できます。例えば:

list.Add(new Survey() { Property = "Property"; });
于 2013-05-23T09:02:35.797 に答える