Многие проекты с открытым исходным кодом s используют класс конфигурации и лямбда-выражения, чтобы прояснить настройку сложного объекта. Возьмем, к примеру, Mass Transit . Простая конфигурация была бы такой.
Bus.Initialize(sbc =>
{
sbc.UseMsmq();
sbc.VerifyMsmqConfiguration();
sbc.VerifyMsDtcConfiguration();
sbc.UseMulticastSubscriptionClient();
sbc.ReceiveFrom("msmq://localhost/test");
});
При наведении указателя мыши на Initialize
в Visual Studio появляется сообщение, что параметр для вызова метода - Action
. Мне было интересно, может ли кто-нибудь показать простой пример использования этого шаблона в классе. Я даже не знаю, как назвать этот тип шаблона, и мой "GoogleFu" пока не работает. В этом конкретном случае я понимаю, что метод работает с одноэлементным шаблоном. Но меня устраивает то, что это метод экземпляра класса.