我有類似下面需要的情況下,使用靜態解析類型參數:如何把它變成靜態解析類型參數
[<Struct>]
type Wrapper<'T> =
val raw:'T
new(v:'T) = {raw = v}
type Value =
| Float of float
| Int of int
| String of string
with
member this.ToWrapper() :'T =
match this with
| Float f -> Wrapper<float>(f) // type is inferred as float
| Int i -> Wrapper<int>(i) // error
| String s -> Wrapper<string>(s) // error
如何定義和使用ToWrapper功能(或其設置)可以將'Value'類型映射到Generic Wrapper中的任何類型,我知道'T'將是float | int |串?
包裝<'T>類型需要是一個結構,所以接口不是一個選項 - 正如一些其他職位相關的建議。
在這裏使用靜態解析類型參數有什麼意義?是否僅僅使用其中一種類型進行約束? – Gustavo