したがって、私はTとNullableの両方を扱うカスタム汎用バインダーを持っています<T>。
しかし、私はリフレクションによって自動的にbindigを作成します。私は、特定の属性でフラグが付けられた列挙のための全体のAppDomain trhough検索し、私はこのような列挙型をtheeseバインドしたい:Nullableで折り返しT <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
});
をしかし、ここでキャッチです。 Nullable <T>をCommandModelBinderにバインドすることはできません。
私はランタイムコードの生成を考えていますが、決してこれを行うことはありません。おそらく市場には他のオプションがあります。 これを達成するためのアイデアはありますか?
おかげで、
ペーテル
回答ありがとうございました。私はそれがコード化されているように動作すると想定しているので、制限がある場合や、適切な数の汎用パラメータを渡さないと例外がスローされます。 –