所以我寫了一些代碼以幫助快速轉換業務對象和視圖模型。不要皮條客我自己的博客,但you can find the details here如果你有興趣或需要知道。反射中的隱式類型轉換
我遇到的一個問題是我有一個自定義集合類型ProductCollection,我需要將其轉換爲模型中的字符串[]。顯然,由於沒有默認的隱式轉換,我在我的合約轉換器中遇到了異常。
所以,我想我會寫代碼的下一點點,應該解決的問題:
public static implicit operator string[](ProductCollection collection) {
var list = new List<string>();
foreach (var product in collection)
{
if (product.Id == null)
{
list.Add(null);
}
else
{
list.Add(product.Id.ToString());
}
}
return list.ToArray();
}
但是,它仍然不能由同一演員主演的異常。我想知道它是否與反思有關?如果是這樣,我能在這裏做什麼?我也接受建築解決方案!
您希望通過將空字符串添加到您生成的列表中來獲得什麼內在價值?就是想。 – 2010-05-11 03:35:28
你說'拋出異常'但聲明瞭一個'隱式'運算符。你的意思是宣佈一個「顯式」運算符嗎?將代碼發佈到您希望觸發的位置。 – 2010-05-11 03:35:53
Nathan Taylor,如果product.Id爲null,則其上的ToString()將結束該Universe。 – 2010-05-11 18:18:24