Я видел много таких в Интернете:
var b = new BitmapImage();
b.BeginInit();
b.UriSource = new Uri(myPath, UriKind.RelativeOrAbsolute);
b.EndInit();
myImage.Source = b;
Теперь, насколько я понимаю, я бы сначала пошел на более компактную версию:
myImage.Source = new BitmapImage(new Uri(myPath, UriKind.RelativeOrAbsolute));
есть ли причина, по которой я должен написать первый вместо второго?
что именно делают "BeginInit ()" и "EndInit ()" в этом случае, что не будет сделано во второй версии?
Я угадываю "ничего", но, опять же, у меня было достаточно опыта, чтобы показать мне, что WPF намного тоньше, чем я думал, что это неудивительно ...
edit: Просто чтобы прояснить ситуацию, я НЕ хочу сказать, что я абсолютно хочу сэкономить 4 строки кода. Я бы предпочел узнать, что именно делают эти два метода, и причину, по которой они должны (или не должны) вызываться.