Установка Padding - почему там написано, что padding.all не является переменной?
Вопрос
Я не понимаю, почему существует Control.padding.all, который является int и в соответствии с подсказкой там устанавливается и get, но я не могу его установить (Control.Padding.All = 5)? Буду благодарен за объяснения. Спасибо!
Решение
Вот простая реализация этого
public class ARAControl
{
public ARAPadding Padding { get; set; }
}
public struct ARAPadding
{
public int All { get; set; }
}
И если вы используете это, вы, вероятно, получите эту ошибку
ARAControl control = new ARAControl();
control.Padding.All = 10;
Это происходит потому, что структура является типом значения. Устанавливая это свойство, вы сначала вызываете метод Get. Свойство Get вернет копию Padding, так что это тип значения, а C # обнаружит ошибку и предотвратит компиляцию
Другие советы
Control.Margin = new Padding (5)
Не связан с StackOverflow