Павел Новиков
Компания: Align Technology
Иногда хочется магии, которая бы вызывала обработчик и раскладывала поля запроса в параметры функции за тебя, например:
{ "request": "baz", "count": 1, "id": "two", "payload": { "three": 3 } }
↓
public class Program { public static void foo() { } public static void bar([Name("count")] int i) { } public static void baz([Name("count")] int i, [Name("id")] string s, [Name("payload")] JsonElement p) { } }
Еще сильнее этого хочется, когда обработчиков со множеством параметров становится много.
В этом докладе мы сконцентрируемся на type erasure, чтобы создать удобный и дружелюбный для разработчика способ организации обработчиков запросов.
Разберем несколько подходов, их профит, как их можно улучшить и что ещё с этим можно сделать. Предупреждение: будет много кода.
Компания: Align Technology
Компания: Лаборатория Касперского