PDA

View Full Version : سوال: معنی این خط کد چیه؟



Javad.Kashi
چهارشنبه 02 شهریور 1390, 19:21 عصر
سلام
لطفا به این کد نگاه کنید:

DataTable dt = Program.StoreDB.GetProducts();
Binding B = new Binding("text", dt, "UnitCost");
B.Format += new ConvertEventHandler(DecimalToCurrencyString);
B.Parse += new ConvertEventHandler(CurrencyStringToDecimal);
textBox1.DataBindings.Add(B);

می شه خط سوم و چهارم را توضیح بدید(مثلا این =+ یعنی چه و ..) در ضمن پارامترهای آنها یعنی DecimalToCurrencyString و CurrencyStringToDecimal در برنامه ناشناخته هستند (من این کدها را از یک کتاب برداشتم)

یا علی

mohammad_cmd
چهارشنبه 02 شهریور 1390, 19:28 عصر
سلام دوست عزیز =+ همون + خودمونه

Javad.Kashi
چهارشنبه 02 شهریور 1390, 19:32 عصر
بابا خیلی ممنون یعنی به ما می یاد اینقدر بی سواد باشیم.
هر چی هست در مورد Event Handling هست که من در موردش صفر هستم.

لطفا یکی از حرفه ای ها جواب من را بده

mehran_sh_t
چهارشنبه 02 شهریور 1390, 19:44 عصر
سلام
ببین، B.Parse و اون یکی delegate هستن که باید تابعی که وقتی اون raise میشه رو بهش اختصاص بدی. در واقع کلاس B، دو Delegate داره، و از اونها استفاده می کنه، پیاده سازی اونها در تابع جدا انجام میشه و بعد بهش اختصاص داده میشه.
در مثال بالا، هر جا که Parse فراخونی بشه، تابع currency... هم اجرا میشه.

دلیل += هم اینه که می تونید چند تابع رو بهش اختصاص بدید.

در یک مثال دیگه، فرض کنید شما دارید یک برنامه می نویسید، می خواید خطاهای برنامه رو جایی نشون بدید، با استفاده از delegate و event، فقط مشخص می کنید که خطا نشون داده بشه. بعد در برنامه اصلی، می تونید یک تابع بنویسید که پیغام بده، یا در یک فایل لاگ ثبت کنه، و اون رو به delegate += کنید! :)

امیدوارم متوجه شده باشید، من خودم اصطلاحات دقیقش یادم نیست