Convert.ChangeType () просто возвращает ссылку другого типа на переданное значение? - PullRequest
0 голосов
/ 27 февраля 2020

Документы Microsoft говорят, что Convert.ChangeType возвращает

Объект, тип которого равен ConversionType и значение которого эквивалентно значению.

Я не уверен, что это значит. Вот мой сценарий.

ParentType parent = new ChildType();

Type type = parent.GetType();

parent.SomeMemberProperty = 1;

dynamic child = Convert.ChangeType(parent, type);

child.SomeMemberProperty = 2;

Что тогда является результатом parent.SomeMemberProperty?

РЕДАКТИРОВАТЬ: Пожалуйста, игнорируйте простоту / глупость вышеописанного сценария. Это просто для того, чтобы продемонстрировать мою путаницу, и я бы никогда не написал этот код.

1 Ответ

0 голосов
/ 28 февраля 2020

Convert.ChangeType() не копирует родителя. Он просто предоставляет ссылку на него по-другому, поэтому любые мутации дочернего объекта также будут влиять на родительский объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...