Vì vậy, tôi có một chất kết dính mô hình chung tùy chỉnh, xử lý cả T và Nullable <T>.
Nhưng tôi tự động tạo các ràng buộc thông qua sự phản chiếu. Tôi tìm kiếm trhough toàn bộ appdomain đếm gắn cờ với thuộc tính cụ thể và tôi muốn để ràng buộc theese enums như thế này:Quấn T trong Nullable <T> qua 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
});
Nhưng đây là việc nắm bắt. Tôi không thể liên kết Nullable <T> với CommandModelBinder.
Tôi đang nghĩ đến việc tạo mã thời gian chạy, nhưng tôi không bao giờ làm điều này và có thể có các tùy chọn khác trên thị trường. Bất kỳ ý tưởng nào để đạt được điều này?
Cảm ơn,
Péter
Cảm ơn câu trả lời và mẹo giới thiệu về lọc. Tôi giả sử nó hoạt động như tôi đã mã hóa nó, vì vậy nếu có một hạn chế hoặc nếu chúng ta không chuyển đúng nmber của các tham số chung thì nó sẽ ném một ngoại lệ. –