世界に任意のデータエンティティがあるとします。この例では、スプレッドシートとしましょう。
また、そのデータのスキーマ/メタデータを取得/推測する方法があるとしましょう。つまり、タイプ(例:二重対文字列)とリレーションシップ(この列は「給与」を意味します)このシートは2009年6月の予算用です)。
タイププロバイダを使用すると、何らかの種類のデータエンティティ(スプレッドシートなど)を知っている種類の「シムライブラリ」をコード化し、そのライブラリをコンパイラ/ IDEツールチェーンの一部として使用できるようになります。
mySpreadsheet.ByRowAndColumn.C4
か何か、とインテリセンス(自動補完)とツールチップ(例えば、ボブのために給与としてセルC4を記述する)と静的型付けを取得する(例えば、それは、二重または文字列または何でもそれがあることがあります)。本質的に、これは静的型オブジェクトモデルのツールアフォーダンスを提供し、さまざまな動的またはコード生成システムの使いやすさを活用し、両方でいくつかの改善を行います。 'コスト'とは、誰かがシムライブラリ( 'タイププロバイダ')を書く必要がありますが、そのようなプロバイダは非常に一般的です(例えば、ODataやExcelやWMIなど)。静的型付けと一流のツールをサポートして、膨大な量の世界データをプログラミング言語で利用できます。
アーキテクチャはオープンコンパイラであり、provider-authorsは新しい名前/型をプログラミングコンテキストに挿入できる小さなインターフェイスを実装しています。タイププロバイダは、コンパイル/ IDE/codegenの開発部分に参加するタイププロバイダとしてマークする余分なメタデータとともに、コンパイラに渡すもう1つのライブラリ(プロジェクト内の参照、-r
-ed)かもしれません。
xmlの例で比較を描画するための「カスタムマッパー」が正確にわからない。
いつでも、タイププロバイダが利用可能になるときの情報がありますか?ありがとう – jlezard
いいえ、申し訳ありませんが、情報はまだありません。 – Brian
カスタムマッパーとは、XMLファイルを強く型付けされたオブジェクトモデルにマップするライブラリを意味しました。このようなライブラリと型プロバイダライブラリの大きな違いはわかりません – terjetyl