Я пытался вернуть ссылку на объект, но не позволил пользователю сохранить ссылку - пример "int" был плохим, чтобы проиллюстрировать это (извините). Когда вы возвращаете ссылку, все ставки отключены, поэтому то, что я пытался сделать, не представляется возможным.
Однако теперь я понимаю, что если вы хотите сделать это, вам нужно, чтобы ваша собственность НЕ была ссылкой. Пока вы можете представлять свое имущество неуправляемым объектом, это возможно.
Например, мой класс "Foo" имеет ссылку "Point", которая имеет значения X и Y.
Я могу добавить свойство в Foo, которое возвращает структуру со значениями X и Y, а не ссылку на сам объект.
Тогда внешний объект может видеть значение объекта Point, но не связываться с самим объектом.
Другой способ состоит в том, чтобы сделать элементы / методы «Point» в основном внутренними, поэтому, когда Foo возвращает его как свойство, внешняя сборка не может ничего сделать, кроме чтения значений X Y.
Спасибо за внимание всем!