Как я могу вернуть значение поля в C #, если я хочу выполнить функцию в этом поле?

#c# #c#-4.0

#c# #c #-4.0

Вопрос:

У меня есть модель, которая выглядит следующим образом:

     [DisplayName("Subject")]
    public string SubjectID { get; set; }

    public string SubjectText ??
  

Что я хочу сделать, так это чтобы значение SubjectText было равно следующему, когда пользователь запрашивает это:

 SubjectText = SubjectReference.GetSubjectText(Model.PageMeta.SubjectID)
  

Я также не хочу, чтобы кто-либо мог устанавливать это значение. Как я могу это сделать?

Ответ №1:

Используйте свойство:

 public string SubjectText {
    get {
         return SubjectReference.GetSubjectText(Model.PageMeta.SubjectID);
    }
}
  

Ответ №2:

Вы можете использовать это:

 public string SubjectText { 
    get { return SubjectReference.GetSubjectText(Model.PageMeta.SubjectID); }
}
  

редактировать: ninja’d

Ответ №3:

Вы ищете что-то подобное?

 public string SubjectID { get; set; }

public string SubjectText
{
    get
    { 
        return "anything you want here"; 
    }
}
  

Ответ №4:

Вы можете использовать средство получения свойства, которое ссылается на другое свойство, SubjectID вот так:

 public string SubjectText { get { SubjectReference.GetSubjectText(SubjectID) } }
  

Это свойство будет доступно только для чтения, поскольку у него нет параметра setter.