У меня есть объект, который может быть null, который я передам методу, который установит его свойства.Должен ли я использовать ключевое слово ref или out здесь?
Так что мой код выглядит следующим образом:
User user = null; // may or may not be null at this point.
SetUserProperties(user);
UpdateUser(user);
public void SetUserProperties(User user)
{
if(user == null)
user = new User();
user.Firstname = "blah";
....
}
Так я обновляя тот же объект, я прохожу в SetUserProperties.
Должен ли я использовать ключевое слово 'ref' в моем методе SetUserProperties?
Да, но свойства пользователя (которые были обновлены в SetUserProperties) будут вне сферы действия в UpdateUser (пользователь)? – Blankman
@Blankman: Нет - потому что они будут на одном объекте. Значение 'user' является просто ссылкой. См. Http://pobox.com/~skeet/csharp/parameters.html –