如何为ProvideType数组创建类型?
换句话说,什么是MakeArrayType
类Type
上MakeArrayType
的替代方法?
编辑: 问题在于,当我尝试{{1}}时,TP失败。
以下是重现错误的示例:https://gist.github.com/dsevastianov/46d1a8495c4af46a9875
客户端失败,“项目'Birch []'上的操作'UnderlyingSystemType'不应在提供的类型,成员或参数上调用”
答案 0 :(得分:2)
这是ProvideTypes.fs中的错误。只需确保GetUnderlyingSystemType
类已实现ProvidedSymbolType
。这似乎工作正常:
override this.UnderlyingSystemType =
match kind with
| SymbolKind.SDArray
| SymbolKind.Array _
| SymbolKind.Pointer
| SymbolKind.FSharpTypeAbbreviation _
| SymbolKind.ByRef -> upcast this
| SymbolKind.Generic gty -> gty.UnderlyingSystemType