কি CLSCompliant
বৈশিষ্ট্য?
কি CLSCompliant
বৈশিষ্ট্য?
উত্তর:
আপনি CLSCompliant
এটি অন্য যে কোনও নেট নেট ভাষা ব্যবহার করতে পারবেন তা নিশ্চিত করতে চাইলে আপনি গুণাবলীর সাহায্যে ক্লাস চিহ্নিত করেন ।
এগুলি মৌলিক নিয়ম:
স্বাক্ষরযুক্ত প্রকারগুলি শ্রেণীর পাবলিক ইন্টারফেসের অংশ হওয়া উচিত নয়। এর অর্থ কী পাবলিক ফিল্ডগুলিতে স্বাক্ষরযুক্ত প্রকারের মতো uint
বা ulong
পাবলিক পদ্ধতিতে স্বাক্ষরযুক্ত প্রকারগুলি ফিরিয়ে দেওয়া উচিত নয়, পাবলিক ফাংশনে পাস করা প্যারামিটারগুলিতে স্বাক্ষরযুক্ত প্রকারগুলি থাকা উচিত নয়। তবে স্বাক্ষরযুক্ত প্রকারগুলি ব্যক্তিগত সদস্যদের অংশ হতে পারে।
পয়েন্টারগুলির মতো অনিরাপদ ধরণের public
সদস্যদের সাথে ব্যবহার করা উচিত নয় । তবে এগুলি private
সদস্যদের সাথে ব্যবহার করা যেতে পারে ।
শ্রেণীর নাম এবং সদস্যের নামগুলি কেবল তাদের মামলার ভিত্তিতে পৃথক হওয়া উচিত নয়। উদাহরণস্বরূপ আমরা দুটি পদ্ধতি নামে থাকতে পারে না MyMethod
এবং MYMETHOD
।
কেবলমাত্র বৈশিষ্ট্য এবং পদ্ধতিগুলি ওভারলোড করা হতে পারে, অপারেটরগুলি ওভারলোড হওয়া উচিত নয়।
এটি আপনার কোডের অন্যান্য ভোক্তাকে বলে যে এটি সিএলএস অনুগত , এবং সি # সংকলকটি এটি আপনার জন্য সিএলএস অনুগত কিনা তাও পরীক্ষা করে তোলে ।
রেফারেন্স করা নিবন্ধে সিএলএসের বাধ্যবাধকতা কী প্রযোজ্য সে সম্পর্কে আরও অনেক বিশদ রয়েছে।
অন্য উত্তরগুলি সঠিক। আমাকে কিছু জিনিস স্পষ্ট করতে দাও - সিএলএস বলতে কমন ল্যাঙ্গুয়েজ স্পেসিফিকেশন বোঝায়। এটি নিয়মের সর্বনিম্ন সেট এবং প্রয়োজনীয় ভাষার বৈশিষ্ট্য যা একটি। নেট ভাষা অবশ্যই প্রয়োগ এবং বুঝতে পারে। এই সেটটি সাধারণ টাইপ সিস্টেমের একটি উপসেট , যা কীভাবে। নেট এ সংজ্ঞায়িত হয় তা নির্ধারণ করে।
সিএলএসের আনুগত্যের অর্থ হ'ল আপনি এমন কোড লিখতে পারেন যা কোনও ভাষার দ্বারা গ্রাহিত হতে পারে যা সিএলআরতে সংকলন করে চালানো যায়। তবে সিএলএস সম্মতি প্রয়োজন হয় না, যেখানে সিএলএস সম্মতি করা কঠিন বা অসম্ভব এমন ক্ষেত্রে আপনাকে নমনীয়তা দেয়।
যদি আপনি নিজের কোডটি অন্য বিকাশকারীদের দ্বারা গ্রাস করার উদ্দেশ্যে নিয়ে থাকেন তবে আপনার এপিআই (আপনার সর্বজনীন ক্লাস এবং পদ্ধতিগুলি) সিএলএসের সাথে সঙ্গতিপূর্ণ হওয়া উচিত। আপনার সমাবেশগুলিতে সিএলএসকমপ্লিয়েন্টএট্রিবিউট যুক্ত করে আপনার এটি ঘোষণা করা উচিত। আপনি যদি অন্যের জন্য লিখছেন না, সিএলএস সম্মতি প্রয়োজনীয় নয়, যদিও এফএক্সকপ ( ফ্রেমওয়ার্ক কপ) আমার সাথে একমত নন।
যখন আপনার সমাবেশটি সিএলএসকম্পিলিয়েন্টএট্রিবিউটের সাথে চিহ্নিত করা হয়, সংকলকটি (কোড করা উচিত) আপনার কোডটি পরীক্ষা করে দেখবে যে, সংকলন করা হলে এটি কোনও সিএলএস বিধি লঙ্ঘন করবে (যার মধ্যে কয়েকটি অক্টেসিও উল্লিখিত) এবং ফিক্সিংয়ের জন্য আপনাকে লঙ্ঘনের প্রতিবেদন করবে।
out
প্যারামিটারের মতো নন-সিএলএসকম্প্লিয়েন্ট বৈশিষ্ট্যগুলি সমর্থন করার ক্ষেত্রে কোনও সমস্যা নেই - তাই আমার মতে মাইক্রোসফ্টকে সিএলএসের প্রয়োজনীয়তাগুলি পুনর্বিবেচনা করা এবং সম্ভবত তাদের আলগা করা দরকার।
সিএলএস অনুবর্তী হ'ল সিএলআর দ্বারা অনুমোদিত সম্পূর্ণ ভাষার বর্ণালীগুলির একটি উপসেট। এটি এটিকে সাবলেটগুলিতে সীমাবদ্ধ করে যেগুলি সম্ভবত সিএলআরকে লক্ষ্য করে সংখ্যাগরিষ্ঠ ভাষার দ্বারা উপলব্ধ। এটি বৃদ্ধি পায় তবে গ্যারান্টি দেয় না যে আপনার লাইব্রেরি সিএলআরকে লক্ষ্য করে সমস্ত ভাষায় ব্যবহার করা যেতে পারে।
যেমনটি এখানে ফিট করে: একটি সম্পূর্ণ প্রকল্প সিএলএস অনুবর্তী হিসাবে চিহ্নিত করতে এই লাইনটি যুক্ত করুন AssemblyInfo.cs
(সমাধান এক্সপ্লোরারে প্রোপার্টি-এর অধীনে পাওয়া যাবে)
[assembly:CLSCompliant(true)]
বা সমানভাবে ভিবি.এনইটিতে ( AssemblyInfo.vb
আমার প্রকল্পের আওতায় লুকানো)
<Assembly: CLSCompliant(True)>
আপনার কোড সিএলএস অনুবর্তী করার জন্য ধন্যবাদ ।