Pracuję nad czymś, co wymaga zawarcia umowy (określonej jako interfejs) i tworzenia instancji w locie, bez formalnie zdefiniowanej konkretnej klasy, która spełnia ten interfejs.Biblioteka Open Source do generowania konkretnych typów z interfejsów w czasie wykonywania?
Przykładem składni jest tak:
IExampleMessage message = MessageBuilder.Create<IExampleMessage>(x => {
x.PropertyA = "Test";
x.PropertyB = 5;
});
Widziałem inne biblioteki .NET i ram oferują takiego zachowania (NServiceBus przychodzi do głowy), i zastanawiam się, czy istnieje Zewnętrzna biblioteka, która usuwa gen kodu runtime. Sądziłem, że Castle DynamicProxy będzie miejscem do patrzenia, ale wydaje się, że skupia się całkowicie na pośredniczeniu i przechwytywaniu, i nie wydaje się ujawniać aspektu generowania kodu.
Mógłbym napisać implementację, która używa Reflection.Emit do utworzenia klasy w locie, jednak wolałbym użyć biblioteki otwartego źródła, jeśli taka istnieje.
Wszelkie sugestie?
Jestem ciekawy: w jaki sposób obsługiwane będą interfejsy z metodami? W jaki sposób zamierzasz wprowadzić niestandardową implementację metody z tą składnią? –
Interfejsy z metodami nie są obsługiwane –
Widziałem podobny kod w BLTookit – adontz