ডায়নামিক টাইপিং এবং dynamic কীওয়ার্ড C# এ প্রোগ্রামিংকে আরও ফ্লেক্সিবল এবং ডায়নামিক করে তোলে। ডায়নামিক টাইপিং হলো একটি প্রক্রিয়া, যার মাধ্যমে ভেরিয়েবলের টাইপ কম্পাইল টাইমে নির্ধারণ না হয়ে রানটাইমে নির্ধারিত হয়। C# এ dynamic
কীওয়ার্ড ব্যবহার করে ডায়নামিক টাইপিং করা যায়, যার ফলে কম্পাইলার সেই ভেরিয়েবলের টাইপ চেক করে না বরং তা রানটাইমে চেক করা হয়।
dynamic
কীওয়ার্ড দিয়ে ডায়নামিক টাইপের ভেরিয়েবল ডিক্লেয়ার করা হয়। এটি যেকোনো টাইপের মান ধারণ করতে পারে এবং এর মান যেকোনো সময় পরিবর্তন করা যেতে পারে। তবে, কম্পাইল টাইমে টাইপ চেক না হওয়ায় ভেরিয়েবলে টাইপ-সংক্রান্ত কোনো ত্রুটি থাকলেও তা রানটাইমে চিহ্নিত হয়।
dynamic variable = "Hello, World!";
Console.WriteLine(variable); // Output: Hello, World!
variable = 10; // String থেকে Int এ পরিবর্তন করা হয়েছে
Console.WriteLine(variable); // Output: 10
variable
ভেরিয়েবলে একটি string
মান অ্যাসাইন করা হয়েছে।int
মান অ্যাসাইন করা হয়েছে। যেহেতু এটি dynamic
টাইপের, তাই বিভিন্ন টাইপের মান সেট করা যায়।dynamic
টাইপের ভেরিয়েবল চেক করে না, বরং রানটাইমে ভেরিয়েবলের টাইপ চেক করে।dynamic
এবং object
টাইপের মধ্যে কিছু মৌলিক পার্থক্য আছে:
object obj = "Hello, World!";
Console.WriteLine(((string)obj).Length); // টাইপ কাস্ট প্রয়োজন
dynamic dyn = "Hello, World!";
Console.WriteLine(dyn.Length); // টাইপ কাস্ট প্রয়োজন নেই
ধরা যাক, আমরা একটি Excel অ্যাপ্লিকেশন রান করতে চাই। COM Interop এর মাধ্যমে dynamic ব্যবহার করে এটি করা যায়।
using System;
using Excel = Microsoft.Office.Interop.Excel;
public class Program
{
public static void Main()
{
dynamic excelApp = new Excel.Application();
excelApp.Visible = true;
dynamic workbook = excelApp.Workbooks.Add();
dynamic worksheet = workbook.Sheets[1];
worksheet.Cells[1, 1].Value = "Hello, Excel!";
}
}
ExpandoObject
এর মাধ্যমে dynamic টাইপ ব্যবহার করে নতুন প্রোপার্টি যোগ করা যায়।
using System;
using System.Dynamic;
public class Program
{
public static void Main()
{
dynamic person = new ExpandoObject();
person.Name = "John";
person.Age = 30;
Console.WriteLine("Name: " + person.Name);
Console.WriteLine("Age: " + person.Age);
}
}
person
নামে একটি dynamic অবজেক্ট তৈরি করা হয়েছে।person
অবজেক্টে Name
এবং Age
প্রোপার্টি ডায়নামিকভাবে যোগ করা হয়েছে।C# এ dynamic কীওয়ার্ড ব্যবহার করে ডায়নামিক প্রোগ্রামিং করা সহজ, তবে এটি ব্যবহারের ক্ষেত্রে সতর্ক থাকতে হয়, কারণ এটি টাইপ সেফটি কমিয়ে দেয় এবং পারফরম্যান্সেও কিছুটা প্রভাব ফেলতে পারে।
আরও দেখুন...