2013-04-26 38 views
5

Có cách nào bạn có thể đặt thuộc tính vào thuộc tính trong một loại ẩn danh không? Hoặc chính loại ẩn danh đó? Nếu không phải khi bạn tạo ra nó, có lẽ sau đó thông qua sự phản ánh?Có cách nào để đặt thuộc tính vào thuộc tính loại ẩn danh không?

Như một kịch bản sử dụng tiềm năng, cho tôi mượn từ Dapper:

Khi cung cấp các thông số để thực hiện một truy vấn trong Dapper, bạn cung cấp các thông số trong một loại vô danh:

connection.Query<Foo>(sql, new { Id = guid, Condition = true }); 

Hãy nói rằng tôi cần thiết để truyền đạt điều gì đó về ánh xạ như có thể chúng tôi lưu trữ boolean dưới dạng văn bản T/F (kinh khủng, nhưng đáng buồn đúng với trải nghiệm thực tế), vì vậy tôi muốn thêm thuộc tính vào thuộc tính Condition để nói cho Dapper biết cách lập bản đồ một ví dụ hơi buộc) . Điều đó có thể không?

Trả lời

6

Không, bạn không thể thực hiện việc này vào thời điểm khai báo hoặc sau đó với sự phản ánh.

Gần nhất bạn có thể đến sẽ là sử dụng loại ẩn danh hiện có làm cơ sở cho loại mới được tạo bằng CodeDom hoặc có thể là Mono Cecil.

Tôi cho rằng bạn nên thực hiện tốt hơn việc chỉ viết mã theo cách thủ công.

Các vấn đề liên quan