我需要使用iTextSharp在PDF中設計一大堆不同的元素(閱讀:「單元格」)。標籤,標頭,子報頭,數目等現在,我使用的各細胞類型的三種不同的方法:如何使用委託來調用樣式化方法?
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和horizontalalignment屬性,該怎麼辦? 我可以在這裏使用代表?我的方法調用唯一的區別是方法中的名稱和GetXFont()調用。
我認爲我最大的問題是它需要完成的次數。 PDF格式非常龐大,並且將繼續增長,我試圖儘可能地減少樣式化這些單元格,同時仍然允許將來進行更改。這兩個都回答我的問題,但有什麼辦法可以滿足我的懶惰嗎? – 2010-04-09 14:21:02
你能舉一個例子說明你想讓你的代碼看起來像嗎? IMO的第二個解決方案非常漂亮。 – dtb 2010-04-09 14:27:10
同意。我認爲即時通過委託,所以我只需要在方法調用中更改一次字體,而不是潛在的數千次。 – 2010-04-09 14:33:00