Задать вопрос
@crescent

C# Как переписать toString для свойства?

У свойства существую методы get / set
Можно литакже поределить метод toString??
  • Вопрос задан
  • 665 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
alexsandr0000
@alexsandr0000
Программист C#/C++/C
Если get возвращает примитивный тип, то что-то переопределить не получится или делать класс-обертку, но это сразу скажется на производительности, поэтому их лучше переопределять в вызывающем коде.
Если get возвращает структуру или тип, то все проще, просто переопределяется ToString()
вот пример:
public class Company : IDbEntity
    {
        /// <summary>
        /// id компании
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// Наименование компании
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// Описание
        /// </summary>
        public string Description { get; set; }

        public override string ToString()
        {
            return $"{Name}";
        }
    }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Free_ze
Пишу комментарии в комментарии, а не в ответы
Читабельное свойство (имеющее метод get) возвращает объект некоторого класса, метод ToString которого вы можете переопределить.
Ответ написан
Комментировать
@Got_Oxidus
Учусь
Свойство - это 2 метода и переменная. Переопределять методы можно только классу.
Если вы хотите такую запись,
classObj.PropertyA.ToString();
то вам надо переопределить метод в классе типа PropertyA.
Код
public class ClassObj
{
	public ClassA PropertyA {get; set}
}

public class ClassA
{
	public override String ToString()
	{
		return "To String method";
	}
}

Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы