Ho problemi a capire gli argomenti appropriati dell'opzione Arg in RhinoMocks.Rhino Mocks - Uso corretto di Arg <T> .Ref
Sto provando a simulare il metodo MSIRecordGetString che ha un parametro Int32 di riferimento. Attualmente ho:
_Api.RecordGetString(Arg<IntPtr>.Is.Anything,
Arg<Int32>.Is.Anything,
Arg<StringBuilder>.Is.Anything,
ref Arg<Int32>.Ref(???, 0).Dummy);
Qualcuno può farmi sapere cosa ??? dovrebbe/potrebbe essere sostituito con. So che dovrebbe essere qualcosa di tipo AbstractConstraint ma non sono sicuro di ciò che è valido. Difficoltà a trovare esempi di utilizzo corretto.
Cheers.
Ciao Matt, grazie per la risposta. Non sono proprio sicuro di avere le ragioni di questo vincolo però. Perché questo è diverso dalla sintassi Out che non richiede un vincolo astratto? –
Probabilmente perché i parametri out devono essere assegnati a, mentre i parametri ref no, quindi l'idea di design è che i parametri ref possano avere un valore preesistente da passare. È possibile vincolarlo a questo punto? –
@MatthewAbbott Penso che ".Ref' sia mancante tra" Arg "e" (Is.Anything(), 0) .Dummy'. Quindi dovrebbe essere 'ref Arg .Ref (Is.Anything(), 0) .Dummy'. –