Ho le seguenti tipologie:F # - Posso restituire un'unione discriminata da una funzione
type GoodResource = {
Id:int;
Field1:string }
type ErrorResource = {
StatusCode:int;
Description:string }
Ho il seguente unione discriminati:
type ProcessingResult =
| Good of GoodResource
| Error of ErrorResource
Poi vuole avere una funzione che avrà un tipo di ritorno dell'unione discriminata ProcessingResult:
let SampleProcessingFunction value =
match value with
| "GoodScenario" -> { Id = 123; Field1 = "field1data" }
| _ -> { StatusCode = 456; Description = "desc" }
È quello che sto cercando di fare possibile. Il compilatore sta emettendo affermando che si aspetta che GoodResource sia il tipo restituito. Cosa mi sto perdendo o sto andando completamente in questo modo sbagliato?