1

我有我的域名一個簡單的地址對象具有ToString()方法,返回這樣的地址:的Html格式化

123測試大道
聘任1A
斯波坎,WA 99201

我們將在幾個不同場合的網頁中使用這種方法,因此它會使感官在某處添加功能以顯示Html格式的地址,但是如果我在哪裏添加ToStringHtmlFormat()到我的域類,它開始聞起來很有趣。

我可能是有點挑剔,但你在哪裏/如何建議完成此操作以保持我的域名類免費的任何Html的東西?

感謝您的建議...

回答

6

你可以有一個的HTMLWriter是能夠「訪問」領域類和打印出來的東西。您的域類然後需要接受方法來接受訪客(訪客模式)。

就靈活性和可維護性而言,儘管我會去尋找一些模板引擎,它包含您的HTML以及您想要打印的屬性的訪問權限。通常更復雜的網站也會引入一種稱爲ViewModel的東西,它可以使用UI HTML引擎輕鬆訪問的方式準備要顯示的數據。

+1

+1我從來沒有真正與訪客模式的朋友,但我同意在域類以外的格式處理;格式是演示文稿,域類不是。 – 2009-05-26 21:03:40

1

您可以添加一個擴展方法:

public static class AddressHelpers 
{ 
    public static string ToStringHtmlFormat (this Address address) 
    { 
     string result = address.Address1; 
     // snip.. 
     return result; 
    } 
} 

,現在你可以控制何時&凡拓方法被包含在你的項目(例如:只在您的Web應用程序)。