Files
freeCodeCamp/guide/russian/csharp/nameof-expressions/index.md
2018-10-16 21:32:40 +05:30

35 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: nameof Expressions
localeTitle: Имя выражения
---
# Имя выражения
Иногда вам требуется имя строки переменной, типа или члена для таких вещей, как сбор исключений, запись или изменение свойств измененных событий. До C # 6.0 вы можете использовать строковый литерал для таких целей.
# #
```
public void ProcessStudent(Student student)
{
if (student == null) throw new ArgumentNullException("student");
}
```
Однако, если параметр студента должен был быть переименован, вам также нужно будет запомнить строковый литерал. Теперь с выражениями nameof вам не нужно использовать строковые литералы, и компилятор сможет предупредить вас, если вы используете неправильное имя.
# #
```
public void ProcessStudent(Student student)
{
if (student == null) throw new ArgumentNullException(nameof(student));
}
```
Некоторые примеры того, где имена выражений могут быть полезными, включают:
* Выбрасывание исключений при проверке параметров
* Передача имени действия при настройке ссылок на действия MVC
* Необходимо передать имя свойства при запуске события с измененным свойством в классе, который реализует INotifyPropertyChanged
* Передача имени свойства при регистрации свойства зависимости XAML
* Включение имени переменной, типа или имени при регистрации
Следует отметить, что если вы укажете имя с квалифицированным именем, компилятор сгенерирует строку для самого правого имени.