Passaggio di anonymous type passati come parametro

Se create un anonymous type in una assembly, magari come risultato di una query, e poi lo passate come parametro ad una funzione di un'altra assembly, avete la spiacevole sorpresa di avere un eccezione a runtime se cercate di richiamare le proprietà dell'anonymous type (anche se ispezionando l'oggetto in debug vedrete correttamente tutte le sue proprietà). Questo perchè gli anonymous type sono internal perciò la loro struttura è visibile solo all'assembly dove sono creati. Per ovviare a questo problema bisogna istruire il runtime aggiungendo nel file AssemblyInfo, dell'assembly dove è definito l'anonymous type, questa riga: [assembly: InternalsVisibleTo("Assembly2")] Se aggiungo questa riga nell'assembly Assembly1 tutti gli anonymous type definiti dentro questa assembly saranno visibili anche a Assembly2

posted @ venerdì 15 luglio 2016 16:21

Print
Comments have been closed on this topic.