У меня есть проект веб-сервиса (старая технология asmx), в котором у меня есть класс User. Этот класс имеет свойство DateTime, которое представляет дату рождения этого пользователя. Помимо этого класса, у меня есть другой файл с частичным классом User. В этом частичном классе я добавляю свойство 'Age', которое возвращает возраст пользователя:
public partial class User
{
public DateTime Age
{
get { return DateTime.Now - this.Birthdate; }
}
}
Причина, по которой это относится к частичному классу, заключается в том, что код класса User автоматически генерируется из файла конфигурации, и я не могу добавить код в этот класс без его удаления при каждом создании кода.
Теперь в моем веб-сервисе у меня есть веб-метод, который возвращает список этих пользователей, который он получает из базы данных:
[WebMethod]
public List<User> GetUsers()
{
return Database.LoadUsers();
}
Достаточно просто ... Во всяком случае, теперь в другом проекте я добавляю ссылку на сервис для этого веб-сервиса. Он генерирует сервисный клиент и класс User для меня. Проблема в том, что этот класс User не содержит свойств, определенных в частичном классе (в данном примере Age) ... Кажется, веб-служба не получает эту информацию.
Конечно, я могу создать новый частичный класс User и переписать его во втором проекте, но я не должен этого делать, не так ли? Почему веб-сервис не распознает частичный класс?