2013-02-09 5 views
6

L'uscita:Strano comportamento del% Un formato con i sindacati discriminati non pubblici

type Test = 
    | First 
    | Second 
    | Third 

let test = First 

printf "test=%A" test 

è

test=First 

come previsto, ma se dichiaro il tipo internal:

type internal Test = 
    | First 
    | Second 
    | Third 

let internal test = First 

printf "test=%A" test 

l'uscita diventa:

test=FSI_0019+Test 

È questo in base alla progettazione? Perché? O un bug?

Sto usando Visual Studio 2010 con F # 2.0

risposta

11

Per stampare i membri non pubblici utilizzano il '+' bandiera. Il fatto che manchi in MSDN assomiglia al problema del documento:

printf "test=%+A" test 
+0

Grazie! Sono contento che non sono stato io a trascurare qualcosa di ovvio – MiMo

+0

FYI, ora lo abbiamo aggiornato su MSDN: http://msdn.microsoft.com/en-us/library/ee370560.aspx – latkin

Problemi correlati