从 F# 访问显式转换运算符

Accessing an explicit conversion operator from F#

使用 npgsql 从 postgresql 中读取日期值时出现以下错误:

This expression was expected to have type
    DateTime    
but here has type
    NpgsqlTypes.NpgsqlDate  

现在 npgsql 文档引用了一个正在定义的显式运算符:

[C#]
public static explicit operator DateTime(
    NpgsqlDate date
);

但我不知道如何从 F# 访问它。

有几种笨拙的、简单的方法可以实现我的需要,但我感到失望和沮丧的是我无法找到访问内置演员表的方法。

我尝试了旧的 Convert.ToDateTime(...),但即使这样也行不通。

有人知道吗?谢谢

显式转换运算符可以通过调用 op_Explicit(我在之前的评论中的大小写错误;我自己当时没有尝试过)函数来访问类型:

let date = NpgsqlDate.op_Explicit npgsqlDate

我还发现很多地方(比如 Yan Cui 的博客 here)定义了 F# 运算符,例如 !> 用于(所有!)显式转换以方便使用,因此您可以说

let date = !> npgsqlDate

我认为这是一个非常巧妙的方法。