2

出力を生成するために ref パラメータを不器用に利用するサードパーティの API を使用しています。個人的には、このような API の設計は大嫌いですが、現在利用できるのはこのような API です。独自のコードのため、API のデータ型を少し隠す必要がありましたが、これは当面の問題とは関係ありません。

とにかく C# では、次のように ref パラメータとして null 参照を正常に渡すことができます。

            IDataType tl = null;
            bool success = api.myFunction(ref tl);

ただし、F# では以下は機能しません

    let mutable tl : IDataType = null //null reference assignment in F#
    let success = api.myFunction(&tl) //& means ref in F#

null 参照例外エラーを返します。C# ではこのようなエラーは返されません。

誰もこれを経験したことがありますか?比較的古い設計である API 自体のバグに違いないと考えています。

**編集: これはクローズする必要があります。答えは F# コードではなく API にあると思います。これと同様の既知のバグがすでに多数あるためです。

4

3 に答える 3

1

この問題は、.NET 2.0 でコンパイルされた API にありました。.NET 2.0 は C# では正常に動作しますが、F# では動作しません。

于 2013-07-29T08:41:43.273 に答える