4

C# のF# TypeProviderに相当するものはありますか? C# で Xml ファイルを読み取る最も簡単な方法を探しています。現時点では XDocument を使用する予定ですが、もっと良いものはないかと考えていました。

F# を使用すると Xml ファイルを簡単に読み取ることができるので、Xml 処理のために言語を切り替えるべきではないかと思います。

4

4 に答える 4

4

いいえ、C# で型プロバイダーを直接使用することはできません。

生成された型プロバイダーの場合、F# プロジェクトで型プロバイダーを "インスタンス化" し、それを C# から使用できますがCsvProviderJsonProvider、 、XmlProviderFreebaseまたはWorldbank. (ただし、組み込みの SqlProvider と WsdlProvider では機能します)。

CsvProvider切り替えについていくつかの議論がありJsonProviderXmlProvider生成されたモデルについては、C# でのデータ バインディングに使用できるようになっています ( https://github.com/fsharp/FSharp.Data/issues/134#issuecomment-20104995 )。おそらく時間がかかるでしょう。

私の提案は、完全に F# に切り替えるか、型プロバイダーが作成する型を反映するレコード型を作成することです。例:

type T = {
    A : int
    B : string
    (...)
}

type XmlT = XmlProvider<"xml file">

let getXml() =
    let xml = XmlT.GetSample()
    { A = xml.A
      B = xml.B
      (...) }
于 2013-08-15T10:25:31.077 に答える
4

F# ライブラリをソリューションに追加できない理由はありますか? そのプロジェクトは、必要な XML の抽象化を作成でき、C# プロジェクトからそれを使用できます。

于 2013-08-14T23:48:55.030 に答える