2011-09-20 123 views
6

我正在用.Net Framework 4.0構建我的BLL,但後來我發現我需要它用於WebServices應用程序,因此我將.Net版本更改爲3.5。現在我有這行代碼給我一個錯誤:如何在框架中使用System.Guid.Parse 3.5

tmp.GlobalIdentifier = Guid.Parse(Convert.ToString(row["GlobalIdentifier"]));

的錯誤是

'System.Guid' does not contain a definition for 'Parse'

這是一個非常明顯的錯誤。你在其他課程中是否有任何等效的「分析」方法?使用.Net框架3.5將SQL Server UniqueIdentifier解析爲System.Guid對象的最佳方法是什麼?

回答

17

嘗試tmp.GlobalIdentifier = new Guid(Convert.ToString(row["GlobalIdentifier"]))

Linking MSDN documentation.

+0

謝謝,這工作像一個魅力。我看到了一堆針對這個問題的正則表達式解決方案,但我想要更像這樣的東西(讓.net爲我完成這項工作)。非常感謝你! –

1

什麼是您正在使用存儲在SQL Server唯一標識符的.NET類型?

如果它是SqlGuid結構,你可以使用提供explicit conversion operator

tmp.GlobalIdentifier = (Guid)(SqlGuid)row["GlobalIdentifier"]; 

如果你使用一個字符串,Guid可以接受,那麼你可以只使用Guid的構造函數重載接受字符串正如其他人所提到的那樣。

+0

謝謝親愛的。事實上,我自己並不把數據存儲在這張桌子上,而只是取回它,所以我不理會它是如何完成的。但是,如果有機會,我會盡可能地使用它。謝謝您的幫助。 –

4
Guid myGuid = new Guid("B80D56EC-5899-459d-83B4-1AE0BB8418E4");