Uso Mono.Cecil posso scorrere i campi su System.Collections.Generic.List
(_items
, _size
, _version
, ecc), se cerco di usarle ottengo sempre l'eccezioneproprietà Accesso su System.Collections.Generic.List
Stati 'T [] System.Collections.Generic.List`1 :: _ elementi' viene dichiarato in un altro modulo e deve essere importato
ho due domande per quanto riguarda questo:
- Non è possibile accedere ai campi sottostanti dei generici?
- Se è possibile, quale sarebbe la dichiarazione di importazione per questo?
Sono riuscito ad accedere ai membri privati sugli oggetti (purché non siano generati dal compilatore), quindi presumo che (1) sia ok. Ho anche importato con successo le cose, anche se ammetto che la mia comprensione di come funziona l'importazione è traballante (alias "se dà un errore, prova a importarlo").
Potresti fornire un esempio breve ma completo che fallisce? E puoi riprodurlo con una semplice riflessione piuttosto che con Cecil? (Questo renderebbe più semplice la riproduzione da parte degli altri.) –
Non proprio quello che hai chiesto, ma ho creato un ramo sul mio progetto che puoi usare per riproporlo tramite 'git clone -b list_import --single-branch git @ github.com: JesseBuesking/BB.DeepCopy.git'. Esegui uno qualsiasi dei test per il sistema da tessere (i test falliranno da questo, quindi sarai in grado di vedere l'errore nell'output di test). Cercherò di riproporlo usando la riflessione oggi. – JesseBuesking
Follow up: è possibile impostare un breakpoint sulla linea 941 in 'ModuleWeaver.cs'. Passare il codice da lì ti porterà attraverso il processo di tentare di accedere ai campi sull'oggetto elenco. – JesseBuesking