Может быть, я должен просто сделать это публичным членом, но я продолжаю думать, что это должно быть константой.
СЦЕНАРИЙ
У меня есть формы, которые я отрисовываю в PDF (используя iTextSharp ). В коде все формы сами наследуют базовый класс (OrderForm
). В OrderForm
есть список констант, которые я использую для измерений при выравнивании объектов для рендеринга PDF, например LEFT_MARGIN
и т. Д. Эти константы используются в нескольких функциях, чтобы определить, куда идут вещи.
Все формы практически идентичны, так как состоят из одних и тех же компонентов (заголовок, адресные поля, элементы и т. Д.). Тем не менее, расположение форм немного отличается ... на одной форме адресное поле находится на дюйм дальше вправо (чтобы поместиться в окне конверта, которое использует мой работодатель).
ВЫПУСКА
Вместо создания множества констант для каждого поля, отступов, бла-бла для каждой формы в базовом классе, например: PURCHASE_ORDER_LEFT_MARGIN
, INVOICE_LEFT_MARGIN
и т. Д., Было бы лучше создать переопределяемый LEFT_MARGIN
что может быть установлено в объекте "inheritee" [sic]? Мое рассуждение состоит в том, что является константой, которая не изменится в этом объекте, только формируется, но рендеринг в базовом классе будет оставаться относительно того, чем является эта константа.
Я знаю, что мог бы просто создать публичного участника и установить его значение, но я бы хотел знать правильный путь для этого.
Спасибо.