Здравствуйте! Данный вопрос касательно оптимальности.
Каким способом из двух, при программном создании элемента управления в WinForms, лучше задавать координаты?
1) element.Location = new Point(x, y);
2) element.Location.X = x; element.Location.Y = y;
Целесообразно ли инициализировать экземпляр Point (хотя занимает меньше места и выглядит красивее)?
Ответ
2) element.Location.X = x; element.Location.Y = y;
Этот вариант не рабочий. В Location можно записать Point целиком, а доступ к Location.X и Location.Y только для чтения, т.к. Location свойство а не переменная или поле, о чем студия предупреждает еще до компиляции.
Причина довольно простая - структуры в .NET относятся к типам значениям (value types), следовательно свойство при обращении к нему предоставляет копию значения Point и вносить в нее изменения не имеет ни какого смысла.
Комментариев нет:
Отправить комментарий