C# のF# TypeProviderに相当するものはありますか? C# で Xml ファイルを読み取る最も簡単な方法を探しています。現時点では XDocument を使用する予定ですが、もっと良いものはないかと考えていました。
F# を使用すると Xml ファイルを簡単に読み取ることができるので、Xml 処理のために言語を切り替えるべきではないかと思います。
C# のF# TypeProviderに相当するものはありますか? C# で Xml ファイルを読み取る最も簡単な方法を探しています。現時点では XDocument を使用する予定ですが、もっと良いものはないかと考えていました。
F# を使用すると Xml ファイルを簡単に読み取ることができるので、Xml 処理のために言語を切り替えるべきではないかと思います。
いいえ、C# で型プロバイダーを直接使用することはできません。
生成された型プロバイダーの場合、F# プロジェクトで型プロバイダーを "インスタンス化" し、それを C# から使用できますがCsvProvider
、JsonProvider
、 、XmlProvider
、Freebase
またはWorldbank
. (ただし、組み込みの SqlProvider と WsdlProvider では機能します)。
CsvProvider
切り替えについていくつかの議論がありJsonProvider
、XmlProvider
生成されたモデルについては、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
(...) }
F# ライブラリをソリューションに追加できない理由はありますか? そのプロジェクトは、必要な XML の抽象化を作成でき、C# プロジェクトからそれを使用できます。