Sto scrittura di unit test per un'applicazione WinRT, e sono in grado di richiamare non asincrone metodi privati di utilizzare questo:Come attendere un metodo privato asincrono invocato mediante reflection in WinRT?
TheObjectClass theObject = new TheObjectClass();
Type objType = typeof(TheObjectClass);
objType.GetTypeInfo()
.GetDeclaredMethod("ThePrivateMethod")
.Invoke(theObject, null);
Tuttavia, se il metodo privato in questione è async
, il codice continuerà l'esecuzione senza aspettare che finisca.
Come si aggiunge la funzionalità await
a questo?
Poiché si tratta di un'app WinRT, ho la sensazione che la riflessione/l'invocazione di membri privati non sia consentita. Non riesco a trovare la documentazione ufficiale di questo su google in questo momento, più vicino è: http://blogs.microsoft.co.il/blogs/sasha/archive/2011/09/17/metro-net-framework-profile-windows -tailored.aspx EDIT: Questi sono unit test, quindi forse è un non-problema. :) –
@Chris Sinclair In realtà, il codice che ho sopra funziona perfettamente bene per i metodi privati. Il mio problema riguarda in particolare quelli asincroni. Il problema si applicherebbe ai metodi pubblici invocati tramite riflessione. – jokeefe