Мне нужно оформить тонну различных элементов (читай: «ячейки») в PDF с помощью iTextSharp.Метка, заголовок, подзаголовок, номер и т. Д. Сейчас я использую три разных метода для каждого типа ячеек:
public static PdfPCell GetDefaultCell(string strText)
{
PdfPCell cell = new PdfPCell(new Phrase(strText, GetDefaultFont()));
cell.Border = 0;
return cell;
}
public static PdfPCell GetDefaultCell(string strText, int iColspan)
{
PdfPCell cell = new PdfPCell(new Phrase(strText, GetDefaultFont()));
cell.Border = 0;
cell.Colspan = iColspan;
return cell;
}
public static PdfPCell GetDefaultCell(string strText, int iColspan, int iAlign)
{
PdfPCell cell = new PdfPCell(new Phrase(strText, GetDefaultFont()));
cell.Border = 0;
cell.Colspan = iColspan;
cell.HorizontalAlignment = iAlign;
return cell;
}
Где «По умолчанию» заменяется типом ячейки для каждого набора из трех методов,Я не думаю, что это весы.Особенно, если я получу больше, чем 20 или 30 типов, которые у меня есть сейчас.Что если я захочу изменить не только атрибуты colspan и горизонтального выравнивания? Могу ли я использовать делегатов здесь ?Единственная разница в моих вызовах методов - это имя и вызов GetXFont () внутри метода.