アセンブリFSharp.Data.TypeProviders 4.3.0.0からF#Type Providersを使用する場合、非常に単純なF#ライブラリで型を作成できます。私はその後、FSharp.Data.TypeProvidersアセンブリに依存せずにこれらの型を使用することができます。それはかなり甘いです!次に例を示します:C#から使用できるF#Type Providerを作成するにはどうすればよいですか?
私はTryTypeProvidersというF#ライブラリプロジェクトを作成しました。私は.fsでこれを置く:
module TryTypeProviders
type Northwind = Microsoft.FSharp.Data.TypeProviders.ODataService
私は、C#プロジェクトからのF#ライブラリを使用することができる午前:
public static void Main()
{
var c = new TryTypeProviders.Northwind();
foreach (var cust in c.Customers)
Console.WriteLine("Customer is: " + cust.ContactName);
Console.ReadKey(true);
}
私はどのようにのいずれかの作業例を見つけることができませんでしたこのような型プロバイダを作成します。 FSharpx.TypeProvidersの型プロバイダはC#からアクセスできません。私の推測では、それらは型の削除と型の生成ではないということです。私はまだ少しあいまいだよこれはこれで、それはdefined here asです:
- 生成されたタイプは、タイププロバイダを使用してアセンブリに埋め込まれます実際の.NETの型である(これはどのようなタイプのプロバイダはそのラップでコード生成ツール(例えば、sqlmetal use)
- 消去された型は、コードのコンパイル時に他の型で表現されるシミュレーテッド型です。
MSDN tutorialに記載されているF# 3.0 Sample Packのサンプルは私のために働いていません。彼らはビルドしますが、私はそれらを使用しようとするとエラーが発生します。
open Samples.FSharp.RegexTypeProvider
type PhoneNumberRegEx = CheckedRegexProvider< @"(?<AreaCode>^\d{3})-(?<PhoneNumber>\d{3}-\d{4}$)">
open Samples.FSharp.MiniCsvProvider
type csv = MiniCsvProvider<"a.csv">
それは最後の2011年3月に発売された、私の推測では、彼らはまだ2012年
F#タイププロバイダが見えるのVisual Studioに同梱タイププロバイダの最終版を反映していないということです偉大な技術のように、私たちはそれらを構築するために必要です。どんな助けもありがとうございます。
CodeTypeのProvidedTypes API(http://fsharp3sample.codeplex.com/) – desco
のおかげでTomasが、タイププロバイダの理解に間違いなく貢献しました。私はVS 2012で動作する生成型プロバイダを得ることができました。これを使用してF#ライブラリの型を作成し、そのライブラリをC#アプリケーションから使用することができました。すべてのコードはGitHubにあり、私は途中で学んだいくつかのことを文書化するためにブログ記事を作った:[http://blog.ctaggart.com/2012/08/how-do-i-create-f-type-プロバイダ - that.html](http://blog.ctaggart.com/2012/08/how-do-i-create-f-type-provider-that.html) –
[link](http:// blendinsider。 com/technical/available-now-blend-for-visual-studio-2012-2012-08-15 /)こんにちは。 F#3.0エキスパートページ468. VS '12 Proを使用する。 VS'12ProでのFsharpx.TypePoviders.XAMLのステータスはどうですか? Expressでのみ動作しますか? ProとExpressはうまくいって、一緒に遊んでいますか? –