檢查類型,所以我正在學習F#,又看了看這個:如何F#類型提供程序在編譯時
F# type providers, how do they work
這:
http://msdn.microsoft.com/en-us/library/hh361033(v=vs.110).aspx
我在F#中不是很流暢,但我的(可能不完整的)理解是類型提供者是爲了給你某種對外部數據源的靜態類型安全訪問。
但是,他們如何做到這一點?由於數據源是外部的,因此似乎(在我看來)沒有辦法檢查數據源的模式而不用查詢它,並且在編譯時(以及代碼完成!)查詢東西似乎是一個壞主意。
如果他們不這樣做,但是,必須有一些鑄造去到未知的數據源撒入一些架構(然後可以進行類型檢查),其中有失敗的可能性,如果數據源不能鑄造。
我相信你,但仍然很難相信。這意味着Visual Studio會在編譯(和代碼完成)過程中實際發送http請求和數據庫查詢以及所有這些事情來獲取模式?我已經編程了一段時間,我不認爲我在其他地方見過這種事情,通常在與外部數據存儲的接口上總是存在隱式轉換。有什麼地方可以查看這個概念,而不是針對F#嗎? –
觀看此約3分鐘的內容:http://channel9.msdn.com/events/BUILD/BUILD2011/SAC-904T從25:30開始。是的,當你按''。在IDE中,Visual Studio正在發送Web請求以獲取另一個架構來呈現Intellisense自動完成。它可能是新穎的,而且非常棒:) – Brian