从 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
我认为这是一个非常巧妙的方法。
使用 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
我认为这是一个非常巧妙的方法。