C++, si sa, è un linguaggio complesso: la sua complessità è sicuramente ricambiata da una potenza espressiva probabilmente ineguagliata, che però tipicamente non ne giustifica l'adozione come linguaggio di sviluppo general purpose. C#, si sa, è stato progettato _anche_ per essere "simile (e sexy) per i dev C++, ma più semplice". Proprio quando (come in questo caso) pensi di aver detto la più banale delle ovvietà, ecco che te la devi rimangiare. Per l'ennesima volta, oggi, ho definito una classe dotata di proprietà pubbliche che fungono semplicemente da accessor per i campi privati:
class RenderingEngineInfo { private string id...