به صورت پیش فرض، Rx هر بار تنها یک مقدار را بررسی میکند. اما گاهی از اوقات نیاز است تا در هربار، بیشتر از یک مقدار دریافت و پردازش شوند. برای این منظور Rx متدهای الحاقی ویژهای را به نامهای Buffer ،Scan و Window تدارک دیدهاست تا بتواند از یک توالی، چندین توالی را تولید کند (توالی توالیها = Sequence of sequences).
متد Scan
فرض کنید قصد دارید تعدادی عدد را با هم جمع بزنید. برای اینکار عموما عدد اول با عدد د ...
پس از معرفی و مشاهدهی نحوهی ایجاد توالیها در Rx ، بهتر است با نمونهای از نحوهی استفاده از آن در یک برنامهی WPF آشنا شویم.
بنابراین ابتدا دو بستهی Rx-Main و Rx-WPF را توسط نیوگت، به یک برنامهی جدید WPF اضافه کنید: PM> Install-Package Rx-Main
PM> Install-Package Rx-WPF
فرض کنید قصد داریم محتوای یک فایل حجیم را به نحو ذیل خوانده و توسط Rx نمایش دهیم. private static IEnumerable<string> r ...
در مطلب « معرفی Reactive extensions » با نحوهی تبدیل IEnumerableها به نمونههای Observable آشنا شدیم. اما سایر حالات چطور؟ آیا Rx صرفا محدود است به کار با IEnumerableها؟ در ادامه نگاهی خواهیم داشت به نحوهی تبدیل بسیاری از منابع داده دیگر به توالیهای Observable قابل استفاده در Rx.
روشهای متفاوت ایجاد توالی (sequence) در Rx
الف) استفاده از متدهای Factory
1) Observable.Create
نمونهای از است ...
Reactive extensions یا به صورت خلاصه Rx ،کتابخانهی سورس باز تهیه شدهای توسط مایکروسافت است که اگر بخواهیم آنرا به سادهترین شکل ممکن تعریف کنیم، معنای Linq to events را میدهد و امکان مدیریت تعاملهای پیچیدهی async را به صورت declaratively فراهم میکند. هدف آن بسط فضای نام System.Linq و تبدیل نتایج یک کوئری LINQ به یک مجموعهی Observable است؛ به همراه مدیریت مسایل همزمانی آن.
این افزونه جزو موفقترین کتابخانههای دات نتی ...