2009-05-19 6 views
1

В этом коде (от WCF REST starterkit - preview2):Вопрос о выходе и возврате?

protected override SampleItem OnAddItem(SampleItem initialValue, out string id) 
     { 
      // TODO: Change the sample implementation here 
      id = Guid.NewGuid().ToString(); 
      this.items.Add(id, initialValue); 
      return initialValue; 
     } 

Я получаю обратно идентификатор в виде строки, или InitialValue в SampleItem?

Редактировать: Похоже, я возвращаюсь обратно, так что бы простой пример вызова метода выглядел как назначенный нескольким переменным?

ответ

4

Вы получите идентификатор в строке, которую вы передаете в качестве параметра для метода. Кроме того, метод вернет экземпляр SampleItem.

SampleItem myItem = new SampleItem(); 
string newId = string.Empty; 
myItem = OnAddItem(myItem, out newId); 
// now myItem will be assigned with SampleItem returned from the 
// OnAddItem method, and newId will be updated with the id assigned 
// within that method 
+0

спасибо, это имеет смысл. – madcolor

1

Вы возвращаетесь обоими.

Вы передадите строчную переменную для идентификатора, и она будет возвращена вам с помощью модификатора 'out'. Функция также вернет экземпляр InitialIalem экземпляра SampleItem, который вы передали.

0

Вы возвращаетесь обоими. Параметр out - это еще один способ вернуть значение, предлагаемое некоторыми языками программирования.

Смежные вопросы