{"id":25614367,"url":"https://github.com/hafuu/fsharpapisearch","last_synced_at":"2025-04-13T20:02:01.183Z","repository":{"id":2865215,"uuid":"47675946","full_name":"hafuu/FSharpApiSearch","owner":"hafuu","description":"F# API search engine","archived":false,"fork":false,"pushed_at":"2022-05-05T13:57:10.000Z","size":1739,"stargazers_count":34,"open_issues_count":7,"forks_count":23,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-22T08:48:41.796Z","etag":null,"topics":["api","fsharp","search"],"latest_commit_sha":null,"homepage":"","language":"F#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hafuu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-12-09T07:33:11.000Z","updated_at":"2025-02-04T18:57:17.000Z","dependencies_parsed_at":"2022-08-06T13:00:26.257Z","dependency_job_id":null,"html_url":"https://github.com/hafuu/FSharpApiSearch","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hafuu%2FFSharpApiSearch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hafuu%2FFSharpApiSearch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hafuu%2FFSharpApiSearch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hafuu%2FFSharpApiSearch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hafuu","download_url":"https://codeload.github.com/hafuu/FSharpApiSearch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248774948,"owners_count":21159533,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","fsharp","search"],"created_at":"2025-02-22T02:18:59.743Z","updated_at":"2025-04-13T20:02:01.120Z","avatar_url":"https://github.com/hafuu.png","language":"F#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FSharpApiSearch\nF# API Search Engineはシグネチャや名前でF#のAPIを検索できる検索エンジンです。\n\n## プロジェクト一覧\n| プロジェクト名           | 概要                                                     |\n|--------------------------|----------------------------------------------------------|\n| FSharpApiSearch          | 検索エンジン本体                                         |\n| FSharpApiSearch.Database | 検索エンジンのデータベース作成ツール                     |\n| FSharpApiSearch.Console  | 検索エンジンのフロントエンド(コンソールアプリケーション) |\n\n### 導入方法\n[リリースページ](https://github.com/hafuu/FSharpApiSearch/releases)からzipファイルをダウンロードし、展開してください。\n\n## 使い方\nまず最初にFSharpApiSearch.Database.exeを実行してデータベースを作成します。\n\n    FSharpApiSearch.Database.exe\n\nデフォルトで検索できるアセンブリは`FSharp.Core`、`mscorlib`、`System`、`System.Core`です。\nデータベース作成時にアセンブリを指定すると検索対象を追加できます。`--lib`オプションでアセンブリを検索するディレクトリを指定できます。\n指定するアセンブリが依存するアセンブリも指定して下さい。\n\n    FSharpApiSearch.Database.exe --lib:TargetAssemblyDirectory TargetAssembly1 TargetAssembly2 DependentAssembly\n\nFSharpApiSearch.Console.exeにクエリを与えずに実行するとインタラクティブモードで起動します。\nインタラクティブモードを終了するには`#q`を入力してください。\n\n    FSharpApiSearch.Console.exe\n\n引数にクエリを渡すと一度だけ検索を行います。\n\n    FSharpApiSearch.Console.exe \"int -\u003e int\"\n\n作成したデータベースを実際に検索で使用するには`--target`オプションを使用します。\n\n    FSharpApiSearch.Console.exe --target:TargetAssembly1 --target:TargetAssembly2\n\n`--target`オプションを使用するとデフォルトの`FSharp.Core`、`mscorlib`、`System`、`System.Core`は検索対象に含まれなくなるため、\n検索対象に含めたい場合は明示的に指定します。\n\n    FSharpApiSearch.Console.exe --target:TargetAssembly1 --target:TargetAssembly2 --target:FSharp.Core --target:mscorlib --target:System --target:System.Core\n\n## 検索オプション\n\n### `respect-name-difference`オプション\n`respect-name-difference`オプションが有効の場合は、クエリ中の異なる型変数や名前付きワイルドカードの名前の違いを検索に反映します。\n異なる名前同士は同じ型にマッチしません。\n例えば、`?a -\u003e ?a`というクエリは`int -\u003e int`というシグネチャにマッチしますが、`?a -\u003e ?b`というクエリは`int -\u003e int`にマッチしません。\n\nこのオプションに無効にした場合は、`?a -\u003e ?b`というクエリで`int -\u003e int`にマッチします。\n\n### `greedy-matching`オプション\n`greedy-matching`オプションが有効の場合は、型変数と他の型がそれぞれマッチするようになり、一致度が高い順に並び替えられて表示されます。\nまた、検索に型制約が考慮されるようになります。\n\n### `ignore-param-style`オプション\n関数、メソッドの引数の形式には、カリー化形式（`arg1 -\u003e arg2 -\u003e returnType`）とタプル形式（`arg1 * arg2 -\u003e returnType`）の2種類があります。\n`ignore-param-style`オプションが有効の場合は、カリー化形式とタプル形式を無視してマッチします。\n\n### `ignore-case`オプション\n`ignore-case`オプションが有効の場合は、API名、型名とのマッチング時に大文字と小文字を区別しません。\n\n### `substring`オプション\n`substring`オプションが有効の場合は、部分文字列で検索します。\n\n### `swap-order`オプション\n`swap-order`オプションが有効の場合は、引数とタプルの順番を入れ替えて検索します。\n例えば、`a -\u003e b -\u003e c`というクエリで`b -\u003e a -\u003e c`にマッチします。\n\n### `complement`オプション\n`complement`オプションが有効の場合は、不足している引数とタプルの要素を補完して検索します。\n例えば、`a * c`というクエリで`a * b * c`にマッチします。\n\n### `single-letter-as-variable`オプション\n`single-letter-as-variable`オプションが有効の場合は、一文字の型名を型変数名として扱います。\n例えば、`t list`というクエリは`'t list`と同じです。\n\n### `language`オプション\nクエリ、検索、結果表示を、`language`オプションで指定したプログラミング言語に切り替えます。\nこのオプションにはF# とC# を指定できます。\n\n### `xmldoc`オプション\n`xmldoc`オプションが有効の場合は、検索結果にXMLドキュメントを表示します。\n\n## F#のクエリ仕様\nF#のクエリは基本的にはF#のシグネチャと同じです。FSharpApiSearchの拡張のみ詳細を説明します。\n\n`\u003e `はFSharpApiSearch.Console.exeをインタラクティブモードで起動したときのプロンプトです。\n\n### 検索可能なAPI\n| API                          | クエリ例                                                 |\n|------------------------------|----------------------------------------------------------|\n| モジュールの関数と値         | `int -\u003e string`                                          |\n| レコード、構造体のフィールド | `Ref\u003c'a\u003e -\u003e 'a`                                          |\n| 判別共用体                   | `'a -\u003e Option\u003c'a\u003e`                                       |\n| メンバー                     | `'a list -\u003e int`                                         |\n| コンストラクター             | `Uri : _`\u003cbr\u003e`Uri.new : _`\u003cbr\u003e`Uri..ctor : _`            |\n| 名前 (関数名、メンバー名等)  | `head : 'a list -\u003e 'a`\u003cbr\u003e`head`                         |\n| アクティブパターン           | `(\\|\\|) : ... -\u003e Expr -\u003e ?`                              |\n| 型、型略称、モジュール       | `List\u003c'T\u003e`                                               |\n| コンピュテーション式         | `{ let! } : Async\u003c'T\u003e`                                   |\n| サブタイプ検索               | `#seq\u003c'a\u003e -\u003e 'a`                                         |\n\n### 名前検索\n名前で検索するには`name : signature`または`name`と書きます。シグネチャを指定しない場合は、シグネチャ部分に`_`を指定します。\n\n    \u003e id : 'a -\u003e 'a\n    Microsoft.FSharp.Core.Operators.id: 'T -\u003e 'T, module value, FSharp.Core\n\n    \u003e choose\n    Microsoft.FSharp.Collections.Array.Parallel.choose: ('T -\u003e option\u003c'U\u003e) -\u003e 'T[] -\u003e 'U[], module value, FSharp.Core\n    Microsoft.FSharp.Collections.Array.choose: ('T -\u003e option\u003c'U\u003e) -\u003e 'T[] -\u003e 'U[], module value, FSharp.Core\n    Microsoft.FSharp.Collections.List.choose: ('T -\u003e option\u003c'U\u003e) -\u003e list\u003c'T\u003e -\u003e list\u003c'U\u003e, module value, FSharp.Core\n    Microsoft.FSharp.Collections.Seq.choose: ('T -\u003e option\u003c'U\u003e) -\u003e seq\u003c'T\u003e -\u003e seq\u003c'U\u003e, module value, FSharp.Core\n    Microsoft.FSharp.Control.Event.choose: ('T -\u003e option\u003c'U\u003e) -\u003e IEvent\u003c'Del, 'T\u003e -\u003e IEvent\u003c'U\u003e, module value, FSharp.Core\n      when 'Del : delegate and 'Del :\u003e Delegate\n    Microsoft.FSharp.Control.Observable.choose: ('T -\u003e option\u003c'U\u003e) -\u003e IObservable\u003c'T\u003e -\u003e IObservable\u003c'U\u003e, module value, FSharp.Core\n\n    \u003e choose : _\n    Microsoft.FSharp.Collections.Array.Parallel.choose: ('T -\u003e option\u003c'U\u003e) -\u003e 'T[] -\u003e 'U[], module value, FSharp.Core\n    Microsoft.FSharp.Collections.Array.choose: ('T -\u003e option\u003c'U\u003e) -\u003e 'T[] -\u003e 'U[], module value, FSharp.Core\n    Microsoft.FSharp.Collections.List.choose: ('T -\u003e option\u003c'U\u003e) -\u003e list\u003c'T\u003e -\u003e list\u003c'U\u003e, module value, FSharp.Core\n    Microsoft.FSharp.Collections.Seq.choose: ('T -\u003e option\u003c'U\u003e) -\u003e seq\u003c'T\u003e -\u003e seq\u003c'U\u003e, module value, FSharp.Core\n    Microsoft.FSharp.Control.Event.choose: ('T -\u003e option\u003c'U\u003e) -\u003e IEvent\u003c'Del, 'T\u003e -\u003e IEvent\u003c'U\u003e, module value, FSharp.Core\n      when 'Del : delegate and 'Del :\u003e Delegate\n    Microsoft.FSharp.Control.Observable.choose: ('T -\u003e option\u003c'U\u003e) -\u003e IObservable\u003c'T\u003e -\u003e IObservable\u003c'U\u003e, module value, FSharp.Core\n\nアスタリスク(`*`)を使用すると部分一致検索ができます。\n例えば、`FSharp.Core.String.* : _`は`FSharp.Core.String`モジュールの全てのAPIを表示します。\n\n    \u003e FSharp.Core.String.* : _\n    Microsoft.FSharp.Core.String.collect: (char -\u003e string) -\u003e string -\u003e string, module value, FSharp.Core\n    Microsoft.FSharp.Core.String.concat: string -\u003e seq\u003cstring\u003e -\u003e string, module value, FSharp.Core\n    Microsoft.FSharp.Core.String.exists: (char -\u003e bool) -\u003e string -\u003e bool, module value, FSharp.Core\n    Microsoft.FSharp.Core.String.filter: (char -\u003e bool) -\u003e string -\u003e string, module value, FSharp.Core\n    ...\n\n### ワイルドカード\n通常、`'a`などの型変数と`int`などの型名はマッチしません。\nしかし、どちらのケースもまとめて検索したい場合があります。\nこのような場合に、ワイルドカード`?`または`_`が使えます。\n\n    \u003e ? -\u003e list\u003c?\u003e -\u003e ?\n    Microsoft.FSharp.Collections.List.append: list\u003c'T\u003e -\u003e list\u003c'T\u003e -\u003e list\u003c'T\u003e, module value, FSharp.Core\n    Microsoft.FSharp.Collections.List.averageBy: ('T -\u003e 'U) -\u003e list\u003c'T\u003e -\u003e 'U, module value, FSharp.Core\n      when 'U : (static member op_Addition : 'U * 'U -\u003e 'U) and 'U : (static member DivideByInt : 'U * int -\u003e 'U) and 'U : (static member get_Zero : unit -\u003e 'U)\n    Microsoft.FSharp.Collections.List.choose: ('T -\u003e option\u003c'U\u003e) -\u003e list\u003c'T\u003e -\u003e list\u003c'U\u003e, module value, FSharp.Core\n    Microsoft.FSharp.Collections.List.chunkBySize: int -\u003e list\u003c'T\u003e -\u003e list\u003clist\u003c'T\u003e\u003e, module value, FSharp.Core\n    ...\n\nまた、ワイルドカードに名前を付けることで、同じ名前を持つワイルドカードの位置には同一の型名が入るという条件を追加できます。\n例えば、`? -\u003e ?`は以下のすべての関数にマッチします。\n\n* `'a -\u003e 'a`\n* `int -\u003e int`\n* `'a -\u003e int`\n* `int -\u003e string`\n\nしかし、`?a -\u003e ?a`のように名前を付けると、上の例では`'a -\u003e int`や`int -\u003e string`にはマッチしなくなります。\n\n### サブタイプ検索\nサブタイプ検索とは、指定した基本型またはインターフェイスと互換性のある型を指定する制約です。\n\nクエリでサブタイプ検索を使用するには`#type`と書きます。`type`の部分には型名とインターフェイス名を指定できます。型名に型パラメータ、ワイルドカードは指定できません。\n\n例えば、`? -\u003e #seq\u003c'T\u003e`は`seq\u003c'T\u003e`を継承した`List\u003c'T\u003e`、`IList\u003c'T\u003e`、`'T[]`等の型を返す関数を検索できます。\n\n### メンバー検索\n#### インスタンスメンバー\nインスタンスメンバーを検索するには`receiver -\u003e signature`と書きます。\n\nメソッドを検索する場合は`receiver -\u003e arg -\u003e returnType`と書きます。\n\n多引数のメソッドを検索するには`receiver -\u003e arg1 -\u003e arg2 -\u003e returnType`または`receiver -\u003e arg1 * arg2 -\u003e returnType`と書きます。\n通常ではメソッドの引数がタプル形式（`arg1 * arg2`）とカリー化形式（`arg1 -\u003e arg2`）を区別せずに検索します。\n引数の形式を区別して検索したい場合は`ignore-param-style`オプションを無効にします。\n\nプロパティを検索する場合は`receiver -\u003e propertyType`と書きます。\nインデックス付きプロパティは`receiver -\u003e index -\u003e propertyType`と書きます。\n\n#### 静的メンバー\n静的メンバーはモジュール内の値や関数と同じクエリで検索できます。多引数メソッドはインスタンスメソッドと同様に`arg1 -\u003e arg2 -\u003e returnType`または`arg1 * arg2 -\u003e returnType`と書きます。\n\n### アクティブパターン\nアクティブパターンを検索するには`(||) : (args -\u003e) inputType -\u003e returnType`と書きます。\nパーシャルアクティブパターンを検索する場合は`(|_|) : (args -\u003e) inputType -\u003e returnType`と書きます。\n\n`inputType`の部分にはアクティブパターンで扱う型を指定します。例えば、`Expr`に対するアクティブパターンを検索したい場合は`(||) : ... -\u003e Expr -\u003e ?`と書きます。\n\n`args`の部分にはアクティブパターンの引数を指定します。\n引数があるアクティブパターンを検索したい場合は`(||) : arg1 -\u003e arg2 -\u003e inputType -\u003e returnType`と書きます。\n引数が無いアクティブパターンを検索したい場合は`(||) : inputType -\u003e returnType`と書きます。\n引数の有無を区別せず検索する場合は引数部分に`...`というキーワードを用いて、`(||) : ... -\u003e inputType -\u003e returnType`と書きます。\n\n`retyrnType`の部分にはアクティブパターンの実態である関数が返す型を指定します。\nアクティブパターン関数の戻り値は、ケースが1つ、複数、パーシャルアクティブパターンそれぞれで異なります。\n対応する任意の型、`option\u003c_\u003e`、`Choice\u003c_,...,_\u003e`を指定して下さい。\n通常はワイルドカード（`?`）を使うことをお勧めします。\n\n### コンピュテーション式\nコンピュテーション式を検索するには`{ syntax } : type`と書きます。指定した構文と型を扱えるビルダーを検索します。\n\n`syntax`には`let!`、`yield`、`yield!`、`return`、`return!`、`use`、`use!`、`if/then`、`for`、`while`、`try/with`、`try/finally`と任意のカスタムオペレーション名を指定できます。\n`syntax`を複数指定する場合は`;`で区切り、`{ s1; s2 } : type`と書きます。\n\n## C#のクエリ仕様\nC#のクエリは、C#のシグネチャとは文法が異なります。\n\n### 検索可能なAPI\n| API                          | クエリ例                                                                                      |\n|------------------------------|-----------------------------------------------------------------------------------------------|\n| メンバー                     | `object -\u003e () -\u003e string`\u003cbr\u003e`string -\u003e int`                                                   |\n| コンストラクター             | `Uri : _`\u003cbr\u003e`Uri..ctor : _`                                                                  |\n| 型パラメーター               | `List\u003cT\u003e -\u003e int`\u003cbr\u003e`Dictionary\u003ctkey, tvalue\u003e`\u003cbr\u003e`\u003cTKey, TValue\u003e : Dictionary\u003cTKey, TValue\u003e` |\n| 名前 (メンバー名等)          | `Length : string -\u003e int`\u003cbr\u003e`Length`                                                          |\n| 型                           | `List`                                                                                        |\n| サブタイプ検索               | `\u003cT\u003e : #IEnumerable\u003cT\u003e -\u003e T`                                                                  |\n\n### 名前検索\nメンバーや型を名前で検索するには`name : signature`または`name`と書きます。シグネチャを指定しない場合は、シグネチャ部分に`_`を指定します。\n\n    \u003e Length : string -\u003e int\n    System.String.Length : int, instance property with get, mscorlib\n\n\t\u003e Length\n    int Array.Length { get; }, instance property, mscorlib\n    int BitArray.Length { get; set; }, instance property, mscorlib\n    long BufferedStream.Length { get; }, instance property, mscorlib\n    long FileInfo.Length { get; }, instance property, mscorlib\n\t...\n\n    \u003e Length : _\n    int Array.Length { get; }, instance property, mscorlib\n    int BitArray.Length { get; set; }, instance property, mscorlib\n    long BufferedStream.Length { get; }, instance property, mscorlib\n    long FileInfo.Length { get; }, instance property, mscorlib\n\t...\n\nアスタリスク(`*`)を使用すると部分一致検索ができます。\n例えば、`System.String.* : _`は`System.String`型の全てのAPIを表示します。\n\n    \u003e System.String.* : _\n    System.Array.Length : int, instance property with get, mscorlib\n    System.Collections.BitArray.Length : int, instance property with get set, mscorlib\n    System.ComponentModel.DataObjectFieldAttribute.Length : int, instance property with get, System\n    System.ComponentModel.MaskedTextProvider.Length : int, instance property with get, System\n    ...\n\n### 型パラメーター\n型パラメーターの記述は次の3つがあります。\n\n| 形式              | 例                                          | 型パラメーター   | 備考                                           |\n|-------------------|---------------------------------------------|------------------|------------------------------------------------|\n| `\u003ct\u003e : signature` | `\u003cTKey, TValue\u003e : Dictionary\u003cTKey, TValue\u003e` | `TKey`, `TValue` | 冗長な形式で型パラメーターに大文字を使用できる |\n| 全て小文字        | `Dictionary\u003ctkey, tvalue\u003e`                  | `tkey`, `tvalue` | 全て小文字の場合は`\u003cT\u003e`の部分を省略できる      |\n| 一文字            | `List\u003cT\u003e -\u003e int`                            | `T`              | 一文字の場合は`\u003cT\u003e`の部分を省略できる          |\n\nただし全て小文字の場合でもintやstring等の組み込み型は型パラメーターとして扱われません。\n\nクエリの型パラメーター名は検索対象の型パラメーター名と一致している必要はありません。\n例えば、`List\u003cA\u003e`というクエリは`System.Collections.Generics.List\u003cT\u003e`型とマッチします。\n\n### ワイルドカード\n通常、`T`などの型パラメーターと`int`などの型名はマッチしません。\nしかし、どちらのケースもまとめて検索したい場合があります。\nこのような場合に、ワイルドカード`?`が使えます。\n\n    \u003e \u003cT\u003e : List\u003cT\u003e -\u003e ? -\u003e int\n    System.Collections.Generic.List\u003cT\u003e.BinarySearch(T item) : int, instance method, mscorlib\n    System.Collections.Generic.List\u003cT\u003e.FindIndex(Predicate\u003cT\u003e match) : int, instance method, mscorlib\n    System.Collections.Generic.List\u003cT\u003e.FindLastIndex(Predicate\u003cT\u003e match) : int, instance method, mscorlib\n    System.Collections.Generic.List\u003cT\u003e.IndexOf(T item) : int, instance method, mscorlib\n    ...\n\nまた、ワイルドカードに名前を付けることで、同じ名前を持つワイルドカードの位置には同一の型名が入るという条件を追加できます。\n例えば、`? -\u003e ?`は以下のすべてにマッチします。\n\n* `static T   F1\u003cT\u003e(T x)`\n* `static int F2   (int x)`\n* `static T   F3\u003cT\u003e(int x)`\n* `static int F4   (string x)`\n\nしかし、`?a -\u003e ?a`のように名前を付けると、上の例では`F2`や`F4`にはマッチしなくなります。\n\n### サブタイプ検索\nサブタイプ検索とは、指定した基本型またはインターフェイスと互換性のある型を指定する制約です。\n\nクエリでサブタイプ検索を使用するには`#type`と書きます。`type`の部分には型名とインターフェイス名を指定できます。型名に型パラメータ、ワイルドカードは指定できません。\n\n例えば、`\u003cT\u003e : ? -\u003e #IEnumerable\u003cT\u003e`は`IEnumerable\u003cT\u003e`を継承した`List\u003cT\u003e`、`IList\u003cT\u003e`、`T[]`等の型を返すメソッドを検索できます。\n\n### メンバー検索\n#### インスタンスメンバー\nメソッドを検索する場合は`receiver -\u003e (arg) -\u003e returnType`と書きます。\n多引数のメソッドは`receiver -\u003e (arg1, arg2) -\u003e returnType`と書きます。\n引数部分の括弧は省略できます。引数または戻り値が無いAPIを検索したい場合は`()`と`void`を使用します。\n\n    \u003e \u003cT\u003e : List\u003cT\u003e -\u003e T -\u003e int\n    System.Collections.Generic.List\u003cT\u003e.BinarySearch(T item) : int, instance method, mscorlib\n    System.Collections.Generic.List\u003cT\u003e.IndexOf(T item) : int, instance method, mscorlib\n    ...\n\nプロパティを検索する場合は`receiver -\u003e propertyType`と書きます。\nインデックス付きプロパティは`receiver -\u003e index -\u003e propertyType`と書きます。\n\n    \u003e \u003cT\u003e : List\u003cT\u003e -\u003e int\n    System.Collections.Generic.List\u003cT\u003e.Capacity : int, instance property with get set, mscorlib\n    System.Collections.Generic.List\u003cT\u003e.Count : int, instance property with get, mscorlib\n    ...\n\n#### 静的メンバー\nメソッドを検索する場合は`(arg) -\u003e returnType`と書きます。\nプロパティを検索する場合は`propertyType`と書きます。\n\n    \u003e string -\u003e int\n    System.Convert.ToInt32(string value) : int, static method, mscorlib\n    System.Int32.Parse(string s) : int, static method, mscorlib\n\t...\n\nこのように、メンバーが属する型は静的メンバーのクエリには記述しません。\n\n\n## FSharp.Compiler.Service の制限により対応できないAPI\n* C#で定義されたクラス、構造体のフィールド\n\n## 動作環境\n* .Net Framework 4.5\n* F# 4.1\n\n## 使用ライブラリ\n* [FSharp.Compiler.Service](http://fsharp.github.io/FSharp.Compiler.Service/)\n* [FParsec](http://www.quanttec.com/fparsec/)\n* [FSharp.Collections.ParallelSeq](http://fsprojects.github.io/FSharp.Collections.ParallelSeq/)\n* [MessagePack for C#](https://github.com/neuecc/MessagePack-CSharp)\n* [MessagePack.FSharpExtensions](https://github.com/pocketberserker/MessagePack.FSharpExtensions)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhafuu%2Ffsharpapisearch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhafuu%2Ffsharpapisearch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhafuu%2Ffsharpapisearch/lists"}