নিম্নলিখিত কোডটিতে একটি স্ট্যাটিক পদ্ধতি রয়েছে, Foo()
একটি উদাহরণ পদ্ধতি কল করে Bar()
:
public sealed class Example
{
int count;
public static void Foo( dynamic x )
{
Bar(x);
}
void Bar( dynamic x )
{
count++;
}
}
এটি ত্রুটি * ছাড়াই সংকলন করে তবে রানটাইমটিতে একটি রানটাইম বাইন্ডার ব্যতিক্রম উত্পন্ন করে। এই পদ্ধতিগুলিতে গতিশীল পরামিতি অপসারণ করা প্রত্যাশার মতো একটি সংকলক ত্রুটির কারণ হয়ে থাকে।
তাহলে কেন ডায়নামিক প্যারামিটার থাকার কারণে কোডটি সংকলিত হতে দেওয়া হয়? রিশার্পার এটিকে ত্রুটি হিসাবে দেখায় না।
সম্পাদনা 1: * ভিজ্যুয়াল স্টুডিও ২০০৮ এ
সম্পাদনা 2:sealed
একটি সাবক্লাসে একটি স্ট্যাটিক Bar(...)
পদ্ধতি থাকতে পারে বলে এটি সম্ভবত যুক্ত করা হয়েছে । এমনকি সিল করা সংস্করণটি সংকলিত হয় যখন রানটাইম সময়ে উদাহরণ পদ্ধতি ব্যতীত অন্য কোনও পদ্ধতি কল করা সম্ভব হয় না।
dynamic
সত্যই আপনার প্রয়োজন না হলে কেন আপনার ব্যবহার করা উচিত নয় এটির আরও একটি উদাহরণ ।