Quindi ho un modello di raccoglitore generico personalizzato, che gestisce sia T che Nullable <T>.
Ma automaticamente creo i collegamenti tramite la riflessione. Cerco trhough l'intero dominio applicazione per l'enumerazione contrassegnate con attributo specifico e voglio legare theese enumerazioni come questo:Wrap T in Nullable <T> via Reflection
AppDomain
.CurrentDomain
.GetAssemblies()
.SelectMany(asm => asm.GetTypes())
.Where(
t =>
t.IsEnum &&
t.IsDefined(commandAttributeType, true) &&
!ModelBinders.Binders.ContainsKey(t))
.ToList()
.ForEach(t =>
{
ModelBinders.Binders.Add(t, new CommandModelBinder(t));
//the nullable version should go here
});
Ma qui è la cattura. Non riesco a collegare il Nullable <T> a CommandModelBinder.
Sto pensando alla generazione del codice runtime, ma non lo faccio mai, e forse ci sono altre opzioni sul mercato. Qualche idea per raggiungere questo obiettivo?
Grazie,
Péter
Grazie per la risposta e il suggerimento sul filtraggio. Presumo che si comporti come ho codificato, quindi se ci sono un restrizione o se non passiamo il corretto nmber dei parametri generici, genererà un'eccezione. –