+1 امتیاز
قبل در برنامه نویسی توسط (760 امتیاز)
ویرایش شده قبل توسط
در بعضی موارد در قسمت Description یا Help و یا Summary برنامه کلمه کلیدی dynamic نوشته شده، به چه معناست و کاربردش رو لطف کنید روی کد نشان بدید
سپاس

1 پاسخ

+2 امتیاز
قبل توسط (868 امتیاز)

به زبان ساده بگم : C# زبانی با نوع قدرتمند است (Strong Type) یعنی چی ؟ یعنی تمام خصوصیت نوع مورد نظر و استفاذه شده تو کد ، برای کامپایلر مشخص و قابل دیدن هستش (هر نوع METADATA داره که رفتار و خصوصیاتشو به IntelliSense ویژوال استادیو و کامپایلر میگه) و کامپایلر مجبور میکنه نوع ها رو که خودشونو کاملا معرفی بکنند که بش میگیم Strong Type، با استفاده از Dynamic ما به کامپایلر میگیم که Strong Type رو نادیده بگیر برای این نوع خاصی که ما تعریف کردیم.و اطلاعاتی که ما بت میدیم رو در زمان اجرا چک کن!! یعنی شما با استفاده از کلمه داینامیک میتونید از توابع، کلاس ها ، یا درواقع ReferenceType ها و Value Type ی که کامپایلر نمیناشه استفاده کنی و کامپایلر در زمان اجرا مقادیرشونو مشخص میکنه!

حالا میگید این چه کاربردی داره ؟ خب برنامه نوسی COM رو در نظر بگیرید ، مثلا برنامه نویسی OFFICE Word.ما میدونیم که این کتابخانه ، تابعی به نامه مثلا CreateNewPage داره ، ولی کامپایلر که اینو نمیدونه در زمان کد نویسی ، و مقادیرشونو بعدا میگیره ، البته اگه کدهایی که نوشتید درست نباشه ، با خطا در زمان اجرا رو برو میشید. نمونه کد :

 public static void Create(string file, DateTime now, String author)
  {
    // Run Word and make it visible for demo purposes
    dynamic wordApp = new Application { Visible = true };
            
    // Create a new document
    var doc = wordApp.Documents.Add(TemplateName);
    templatedDocument.Activate();

    // Fill the bookmarks in the document
    doc.Bookmarks[CurrentDateBookmark].Range.Select();
    wordApp.Selection.TypeText(current.ToString());
    doc.Bookmarks[SignatureBookmark].Range.Select();
    wordApp.Selection.TypeText(author);

    // Save the document 
    doc.SaveAs(fileName);

    // Clean up
    templatedDocument.Close();
    wordApp.Quit();
  }

 

سوالات مشابه

0 امتیاز
2 پاسخ 4.6هزار بازدید
0 امتیاز
1 پاسخ 410 بازدید
0 امتیاز
1 پاسخ 866 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط hldv (760 امتیاز)
+1 امتیاز
1 پاسخ 283 بازدید
0 امتیاز
0 پاسخ 652 بازدید
سوال شده 6 سال قبل در برنامه نویسی توسط alinaseri (0 امتیاز)
+1 امتیاز
1 پاسخ 564 بازدید
0 امتیاز
1 پاسخ 1.0هزار بازدید
0 امتیاز
0 پاسخ 274 بازدید
...