だから私は、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から)をご覧ください。はい、あなたが 'を押すと。' Visual StudioはIDEで別のスキーマを取得してIntellisenseの自動補完機能を提供するためにWebリクエストを送信しています。それは斬新かもしれないし、それはかなり素晴らしいです:) – Brian