Mam więc niestandardowy ogólny model spoiwa, który obsługuje zarówno T jak i Nullable <T>.
Ale automatycznie utworzę wiązania przez odbicie. Szukam trhough całej AppDomain dla wyliczenia chorągiewki z konkretnego atrybutu i chcę wiązać theese stałe teksty tak:Wrap T in Nullable <T> przez Refleksja
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
});
Ale tu jest haczyk. Nie mogę powiązać Nullable <T> z CommandModelBinder.
Myślę, że generowanie kodu runtime, ale nigdy tego nie robię, i być może są inne opcje na rynku. Każdy pomysł, aby to osiągnąć?
Dzięki,
Péter
Dzięki za odpowiedź i wskazówkę na temat filtrowania. Zakładam, że zachowuje się tak, jak je zakodowałem, więc jeśli istnieje ograniczenie lub jeśli nie przekazujemy poprawnego nmber parametrów ogólnych, wygeneruje on wyjątek. –