F#では、文字列の配列System.Type
を作成したい場合は、typeof<string[]>
と書くだけで済みます。これは、コンパイル時にtypeof
の型を指定できるからです。型の識別された共用体表現から配列のシステム型への移動方法は?
type Ty =
| Int32
| Float32
| String
| Array of Ty
let to_dotnet_type: Ty -> System.Type = ...
しかし、私はコンパイル時に不明なを探しています正確なSystem.Type
は、どのように私は、.NET System.Type
へTy
から行くように、私は労働組合の種類を持っていたと仮定しますか?特に配列には一般的なパラメータがありませんので、F#が基底から継承する新しい配列型を要求時にSystem.Array
にインスタンス化していると推測しています。私はそれを動的に行う方法については空白を描いています。
私の内部表現とCLR型の間で動くことができる理由は、F#(F#で)にコンパイルしてGetMethod
のような配列を持つ言語を使用しているためです。System.Type
sを引数とします。私はそれを行うためのより良い方法の知識の欠如のためにinteropを行うためにそれらを使用しています。
私はそれの逆をどのように行うのでしょうか? 'System.Type'配列を取得し、その基になる型を取得するにはどうしたらいいですか? –
'GetElementType'メソッドを使用します。それは私の質問に答えます。 –