Uso la reflection come metodo per implementare uno schema factory:
Type type = GetProviderType(vendor);
ConstructorInfo constructorInfo = type.GetConstructor(new Type[] { typeof(NameValueCollection) });
ExternalSourceProvider vendorSourceProvider = (ExternalSourceProvider)constructorInfo.Invoke(new Object[] { requestData });
Posso assicurarmi che un membro dell'oggetto fabbricato venga invocato aggiungendo questo codice:
_externalSiteId = vendorSourceProvider.ExternalId;
_app = vendorSourceProvider.App;
Questo è puzzolente: non dovrei aver bisogno di "toccare" il membro per assicurarmi che sia invocato. Qualche idea su come garantire l'invocazione del membro? Il motivo per cui voglio invocare questi membri è che ho bisogno di eseguire il "bootstrap" dell'oggetto fabbricato "vendorSourceProvider" (e toccare il membro mi permette di farlo nel {get} del membro). Qualche idea su come ottenere ciò che sto cercando di fare senza "toccare" inutilmente il membro?