2013-04-26 20 views
5

Niteliklerin özelliklerini anonim bir türe yerleştirmenin bir yolu var mı? Veya anonim tipin kendisi mi? Eğer onu yarattığınız zaman, belki sonradan yansıma ile mi?Anonim tip özelliklerine nitelik katmanın bir yolu var mı?

bir potansiyel kullanım senaryosu olarak

, beni Dapper ödünç alalım:

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

en ihtiyacım diyelim:

Dapper bir sorgu yürütmek için parametreleri sağlayan anonim bir türü parametreleri sağlamak haritalama hakkında birşeyler iletmek gibi belki de booleanları metin olarak T/F (korkunç, ama gerçek hayat deneyimine üzücü bir şekilde doğru) olarak saklamak için, bu yüzden Condition özelliğine Dapper'e nasıl harita vereceğine dair bir özellik eklemek istiyorum (yine bu biraz zorla örnek) . Mümkün mü?

cevap

6

Hayır, bunu ya deklarasyon noktasında ya da daha sonra yansıma ile yapamazsınız.

En yakın gelebilecek kod, CodeDom ile oluşturulmuş yeni bir türün veya Mono Cecil'un varolan bir anonim türevin kullanılmasıdır.

Bunun yerine, kodu kendiniz yazmanızdan daha iyi olacağından şüpheleniyorum.

İlgili konular