Использование сеттера во ViewModel с использованием другого свойства - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть следующее ViewModel в моем приложении, и есть два свойства BirthDate (с / без времени). При использовании set { } без тела я сталкиваюсь с «Не использовать значение означает, что средство доступа игнорирует намерение вызывающего, что может привести к неожиданным результатам во время выполнения». Затем я добавил частное свойство и обновил значение set { birthDateWithTime = value; }. Однако на этот раз birthDateWithTime частная собственность не видит, чтобы быть использованной. Есть ли какие-либо ошибки в отношении реализации ниже? Я хочу использовать оба свойства отдельно и не хочу конвертировать в JavaScript или код.

    public class DemoViewModel
    {
        public int Id { get; set; }

        public DateTime BirthDate { get; set; }

        private string birthDateWithTime;

        public string BirthDateWithTime {
            get { return BirthDate.ToString("dd/MM/yyyy - HH:mm"); }
            set { birthDateWithTime = value; }
        }
    }

Ответы [ 4 ]

2 голосов
/ 04 ноября 2019

@ Габриэль Ллорико ответ правильный. или, может быть, вы можете попробовать другой.

private DateTime _birthDate;
public DateTime BirthDate{
   get{
      return _birthDate;
   }
   set{
     this._birthDate = value;
     this.BirthDateWithTime = this._birthDate.ToString("dd/MM/yyyy - HH:mm");
   }
}
public string BirthDateWithTime{get;set;}
1 голос
/ 04 ноября 2019

Или просто используйте стиль body-property.

public string BirthDateWithTime => BirthDate.ToString("dd/MM/yyyy - HH:mm");
1 голос
/ 04 ноября 2019

попробуйте, если это зависит исключительно от BirthDate

public string BirthDateWithTime 
{
    get 
    { 
        return BirthDate.ToString("dd/MM/yyyy - HH:mm"); 
    }
}
0 голосов
/ 04 ноября 2019

Если вам нужно установить BirthDateWithTime , просто установите в свойстве BirthDate , чтобы оба они обновлялись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...