Type Provider Memo

TypeProvider実装のための記憶保管のためにメモとして残す

  • FSharp.Data.dllを拾ってくる

    • Nugetで取って来れる
    • TypeProviderのための骨格抽象実装が用意されているので、ありがたくご相伴
  • open Microsoft.FSharp.Core.CompilerServices

    • TypeProviderAttibuteが定義されている
  • open ProviderImplementation.ProvidedTypes

    • TypeProviderForNamespacesクラス
      • TypeProviderの親クラスとして使用する
    • ProvidedTypeDefinitionクラス
      • TypeProvider内部で使用する型を定義するためのクラス
      • Typeクラスから派生
  • TypeProviderメタクラスのdo束縛にて

    • Providerの型定義
      • ProvidedTypeDefinitionをインスタンス化
      • ProvidedTypeDefinition#AddXmlDoc呼ぶ
        • ヘルプメッセージ追加のため
        • たぶん必須ではないとは思う
      • ProvidedTypeDefinition#DefineStaticParametersを呼ぶ
        • TypeProviderの引数定義
        • 第一引数はList
        • 第二引数は引数型をインスタンス化するための高階関数
          • string -> obj[] -> ProvidedTypeDefinition
        • 必須
    • TypeProviderメタクラスのAddNamespaceメソッド呼ぶ
      • これでF# コンパイラに登録される?
f#