IMessage Interfaceが必要です。 C#では、私はF#でCOMオブジェクトを作成するには
CDO.Message oMsg = new CDO.Message(); // ok
を書くことができますが、私はF#の
let oMsg = new CDO.Message()
でこれを実行しようとするとき、私はエラーメッセージを取得:
は '新しい' インターフェイスタイプに使用することはできません。代わりにオブジェクト式 '{new ... with ...}'を使用することを検討してください。
この問題を解決するにはどうすればよいですか?
open System
[<EntryPoint>]
[<STAThread>]
let main argv =
let oMsg = new CDO.MessageClass()
oMsg.Subject <- "Hello World"
Console.WriteLine(oMsg.Subject)
Console.ReadLine() |> ignore
0
注:私はまた、明示的にオブジェクトのインスタンス化を機能させるために、プロジェクトにMicrosoft ActiveX Data Objects 6.0 Library
への参照を追加する必要がありましたあなたは「クラス」は、インタフェース名に追加したバージョンを使用する必要が
http://stackoverflow.com/questions/37145234/how-to-convert-c-sharp-code-that-uses-shell-com-to-f/37150493#37150493 –
:[ COM Type Provider for F#](https://fsprojects.github.io/FSharp.ComProvider/) –