#c# #avalonedit
#c# #avalonedit
Вопрос:
Следующий код взят из проекта AvalonEdit:
// Creates a new TextEditor instance.
public TextEditor() : this(new TextArea())
{
}
Я понятия не имею, что делает : this(new ...
часть. Не могли бы вы, пожалуйста, помочь объяснить синтаксис C #?
Комментарии:
1. @AlexeiLevenkov — ложный вопрос не был простым, и ответ можно использовать только с инструкциями из вашего комментария здесь.
2. Учитывая, что в отмеченном повторяющемся вопросе фактически не указана цепочка конструкторов в качестве опции, я должен был бы сказать, что это не дубликат.
3. ОК, doh, прочитал список 3 раза, по-прежнему не обнаружил эту запись. Возможно, для меня слишком поздно в пятницу вечером. Я согласен, дубликат перечисляет это. (и нет, я не голосовал за повторное открытие). В свою защиту скажу, что «передавать параметры между конструкторами» — не очень хорошее описание выполняемой операции. Ну да ладно. Слишком поздно в пятницу 🙂
4. @Sabuncu пожалуйста, отредактируйте свой вопрос, чтобы он выглядел разумно «пожалуйста, объясните код» — ужасное название. Может быть, что-то вроде строки «что означает «это» после конструктора»…
5. @Sabuncu — определенно лучше, чем текущий. Может быть, также упомянуть конструктор.
Ответ №1:
Это означает, что этот конструктор вызывает другой конструктор, который принимает аргумент типа TextArea
. Это называется связыванием конструктора.
Смотрите ссылку, предоставленную @Lasse: http://msdn.microsoft.com/en-us/library/aa645603 (v=vs.71).aspx
Комментарии:
1. @LasseV.Karlsen Спасибо! Надеюсь, вы не возражаете, что я вставил вашу ссылку в ответ. Оно более канонично, чем то, которое я использовал раньше.
2. Вовсе нет. В любом случае это не гарантировало ответа, который был бы лучше вашего.