Сначала вам нужно инициализировать экземпляр:
rec = new Record(name, age, dob, sex, country );
webservicename.singlesummary[] test = new webservicename.singlesummary[1];
test[0] = new webservicename.singlesummary(); // extra line for your code
test[0].name= rec.name;
test[0].age = rec.age;
test[0].dob = dob;
test[0].sex = sex;
test[0].country = country;
Очевидно, что если вам нужен массив и длина которого больше единицы, вы можете заменить все строки, кроме одной и двух выше, внутри for для ...next цикл и индекс для элемента ith
.
Я заметил, что вы индексируете в массив с помощью [0]
(и создаете массив длиной 1), что мне кажется бессмысленным, выможет также использовать один экземпляр:
rec = new Record(name, age, dob, sex, country );
webservicename.singlesummary test = new webservicename.singlesummary();
test.name= rec.name;
test.age = rec.age;
test.dob = dob;
test.sex = sex;
test.country = country;
Если вы используете массив длины один, потому что служба, которую вы вызываете, принимает только массив / список элементов, вы всегда можете создать ее во времявызов:
wbsvcProxy.MethodCall(new List<singlesummary>() { test });
На мой взгляд, это более читабельно во всем коде, поскольку вы создаете массив / список только при вызове метода и удаляете весь синтаксис [0].
в стиле фанк изостальная часть вашего кода (если ваш метод не требует этого, не берите в голову этот последний бит)