Рассмотрим простой пример:
internal class ImageSelectorViewModel
{
public ImageSource SelectedImage { get; private set; }
public ICommand SelectImageCommand { get; }
}
Выполнение SelectImageCommand
изменяет изображение в свойстве SelectedImage
.
Как я могу быть уверен, что никто не сможет нарушить мое изображение извне (преобразовать, удалить, изменить пиксель или что-то еще)? Мне нужно, чтобы изображение было только для чтения.
Я слышал о Freeze()
методе. Но, похоже, это больше для производительности, чем для неизменности.
Некоторые реализации ImageSource
обеспечивают неизменность?