2010-09-23 8 views

risposta

15

No. I commenti vengono ignorati dal compilatore e non hanno alcuna rappresentazione nell'assieme.

+0

Vuoi dire che un assembly non contiene alcuna informazione relativa ai commenti? O porta le informazioni ma non è accessibile? – Aperture

+0

Il codice sorgente è per gli esseri umani. Gli assembly sono per le macchine. Non ci sono commenti in un assemblaggio. – AMissico

+0

@AMissico: Ciao, un assembly non ha bisogno di commenti, ma può ancora portare i commenti come parte del programma? – Aperture

6

Un disassemblatore non può ottenere il codice sorgente originale. Creerà solo il codice sorgente che fa la stessa cosa del codice sorgente originale.

Poiché i commenti non risultano in alcuna istruzione nel programma, non possono essere ricreati dal codice compilato.

+1

+1 buon punto che sottolinea il fatto che la sorgente viene ricreata dall'assieme. –

+0

Un semplice esempio è il nome delle variabili locali - Reflector in genere deve inventarle. –

+0

Non posso essere d'accordo sul fatto che il disassemblatore non sia in grado di accedere al codice sorgente, ma componga solo il codice per ottenere la stessa funzione. La prova è l'ordine di alcune affermazioni. Se il disassemblatore non è in grado di accedere al codice sorgente, non è in alcun modo possibile elaborare esattamente le stesse dichiarazioni con lo stesso ordine. Forse ha qualche difficoltà ad arrivare ai nomi delle variabili ma sicuramente può vedere ogni singola affermazione. – Aperture

1

Solo per aggiungere alla risposta Marks - i commenti/docstrings XML trovati nel codice sorgente non vengono scritti anche nell'assembly e quindi sono anche inaccessibili con Reflector.

I commenti XML vengono scritti in un file xml separato a cui l'IDE di Visual Studio deve accedere per poter fornire questi commenti in intellisense.

+1

I commenti XML sono chiamati *** Commenti documentazione XML ***. – AMissico

+0

Solo per essere pedanti, se li hai nel posto giusto i commenti della documentazione XML estratti possono essere inclusi nel display di Reflector. Tuttavia non è dovuto a nulla nell'assemblaggio stesso. –

1

No, non leggerà la riga commentata dal codice sorgente

Problemi correlati