У меня есть кодовая база, в которой определенные классы должны поддерживать собственный механизм глубокого копирования. Чтобы упростить это, я хочу обеспечить, чтобы эти классы всегда имели хотя бы один «полный конструктор», который принимает и инициализирует каждое поле класса. Хотя эти классы могут иметь несколько конструкторов (для удобства или частичной инициализации), мне нужен гарантированный конструктор, включающий все поля, обеспечивающий надежный процесс глубокого копирования.
Я ищу способы убедитесь, что если кто-то добавит новое поле, он также обновит «полный конструктор», включив в него это поле.
Например, предположим, что у нас есть следующий класс:
public class User
{
public int id;
public string name;
public User(int id, string name)
{
id = id;
name = name;
}
}
Если другой разработчик добавил поле адреса в User, но не в конструктор, я хочу, чтобы код/сборка сломалась:
public class User
{
public int id;
public string name;
public string address;
public User(int id, string name)
{
id = id;
name = name;
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... -fields-in
Как я могу гарантировать, что всегда существует «полный» конструктор, включающий все поля в определенных классах? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Spring Boot application.yml полностью игнорируется (существует в целевых/классах)
Anonymous » » в форуме JAVA - 0 Ответы
- 52 Просмотры
-
Последнее сообщение Anonymous
-