0

F# を使用してゼロから DataTable オブジェクトを構築することは可能ですか?

私はこのコードを書きました

module DataHelper
open System
open System.Data
open System.Data.SqlClient

let addDataRow (dt : DataTable) kerberos =
    let dr = dt.NewRow()
    dr["Kerberos"] = kerberos
    dt.Rows.Add(dr)

let Func userList : string seq = 
    let dt : DataTable = new DataTable("UserNameListType")
    let dc : DataColumn = new DataColumn("Kerberos")
    dt.Columns.Add(dc)
    Seq.iter (fun user -> addDataRow dt user) userList
    dt

しかし、これにはエラーが多すぎます

  1. VS.NET は DataTable、DataRow クラスを理解していないようで、インテリセンスとして「メモ」のみを表示します。
  2. コレクション オブジェクト Rows、Columns を F# で使用するのは困難です。これは、どのメソッドも実際に機能しないためです (C# では簡単に機能します)。
4

1 に答える 1

5

新しいプロジェクトでこれを行う場合は、 および への参照を追加する必要がありSystem.Data.dllますSystem.Xml.dll。その後、Visual Studio は型を認識する必要があります。プロジェクトの「参照」を右クリックして「参照の追加」を選択すると、それを行うことができます。

それとは別に、あなたのコードには 2 つの小さな間違いがあります。[割り当ては次のように記述する必要があります (前にドットがあり、演算子が<-代わりにあることに注意してください=):

dr.["Kerberos"] <- kerberos 

そして、あなたのFunc関数は以下を返すはずDataTableです:

let Func userList : DataTable =  
于 2012-08-23T10:54:25.650 に答える