Учитывая тип F #:
type Foo() =
member this.Prop with get() = ()
interface IDisposable with
member this.Dispose() = ()
В C # я создаю объект, но я не могу вызвать Dispose()
:
var x = new Foo();
x.Dispose(); // compile error, x does not contain a definition of Dispose
Однако я могу написать:
((IDisposable)x).Dispose(); // works, but I don't like the cast
Есть ли способ избежать приведения в C #?Связано ли это с тем, что F # не позволяет автоматически вызывать .Dispose()
для типа Foo
из F #?