我正在尝试从.net类型中查找DbType枚举值.我正在使用匹配声明.但是我无法弄清楚如何匹配类型byte [].
let dbType x =
match x with
| :? Int64 -> DbType.Int64
| :? Byte[] -> DbType.Binary // this gives an error
| _ -> DbType.Object
Run Code Online (Sandbox Code Playgroud)
如果有更好的方法来映射这些类型,我会接受建议.
ild*_*arn 11
byte[],byte array和array<byte>都是同义词,但在这种情况下,只有最后一个没有括号:
let dbType (x:obj) =
match x with
| :? (byte[]) -> DbType.Binary
| :? (byte array) -> DbType.Binary // equivalent to above
| :? array<byte> -> DbType.Binary // equivalent to above
| :? int64 -> DbType.Int64
| _ -> DbType.Object
Run Code Online (Sandbox Code Playgroud)