"অকার্যকর" সাথে মূল সমস্যাটি হ'ল এটি অন্য কোনও রিটার্ন টাইপের মতো একই জিনিসটিকে বোঝায় না। "অকার্যকর" অর্থ "যদি এই পদ্ধতিটি ফিরে আসে তবে এটি কোনও মূল্য দেয় না।" নাল না; নাল একটি মান। এটি কোনও মূল্য দেয় না।
এটি প্রকৃতপক্ষে টাইপ সিস্টেমকে বিশৃঙ্খলা করে। কোন ধরণের সিস্টেম হ'ল অপারেশনগুলি নির্দিষ্ট মানগুলিতে বৈধ কি তা সম্পর্কে যৌক্তিক ছাড়ের জন্য একটি সিস্টেম; একটি অকার্যকর রিটার্নিং পদ্ধতি কোনও মান ফেরত দেয় না, সুতরাং প্রশ্ন "এই জিনিসটির জন্য কী অপারেশনগুলি বৈধ?" কিছুতেই কোন ধারণা নেই। বৈধ বা অবৈধ অপারেশন করার জন্য কোনও "জিনিস" নেই।
তদ্ব্যতীত, এটি রানটাইমকে মারাত্মক কিছুতে গোলমাল করে। .NET রানটাইম হ'ল ভার্চুয়াল এক্সিকিউশন সিস্টেমের একটি বাস্তবায়ন, যা স্ট্যাক মেশিন হিসাবে নির্দিষ্ট করা হয়েছে। এটি হ'ল একটি ভার্চুয়াল মেশিন যেখানে ক্রিয়াকলাপগুলি সমস্ত মূল্যায়ন স্ট্যাকের উপর তাদের প্রভাবের দিক থেকে চিহ্নিত হয়। (অবশ্যই বাস্তবে মেশিনটি স্ট্যাক এবং রেজিস্ট্রার উভয়ই মেশিনে প্রয়োগ করা হবে তবে ভার্চুয়াল এক্সিকিউশন সিস্টেমটি কেবল একটি স্ট্যাক অনুমান করে)) একটি শূন্য পদ্ধতিতে একটি কল করার প্রভাব মৌলিকভাবে হয়অ-শূন্য পদ্ধতিতে কল করার প্রভাবের চেয়ে পৃথক; একটি অ-শূন্য পদ্ধতি সর্বদা স্ট্যাকের উপরে কিছু রাখে, যা পপআপ করার প্রয়োজন হতে পারে। একটি শূন্য পদ্ধতি কখনও স্ট্যাকের উপরে কিছু রাখে না। এবং তাই সংকলকটি শূন্য এবং অ-শূন্য পদ্ধতিগুলির ক্ষেত্রে একই পদ্ধতিতে আচরণ করতে পারে না যেখানে পদ্ধতিটির ফেরত মান অগ্রাহ্য করা হয়; যদি পদ্ধতিটি অকার্যকর হয় তবে কোনও রিটার্নের মান নেই তাই কোনও পপ থাকতে হবে না।
এই সমস্ত কারণে, "অকার্যকর" কোনও ধরণের নয় যা তাত্ক্ষণিকভাবে কার্যকর করা যায়; এটির কোনও মূল্য নেই , এটি সম্পূর্ণ বিষয়। এটি বস্তু হিসাবে রূপান্তরযোগ্য নয় এবং একটি অকার্যকর প্রত্যাবর্তন পদ্ধতি কখনও কখনও অ-শূন্য-প্রত্যাবর্তন পদ্ধতিতে বহুরূপে চিকিত্সা করা যায় না কারণ এটি করার ফলে স্ট্যাকটি ক্ষতিগ্রস্ত হয়!
সুতরাং, শূন্যতাটি কোনও ধরণের আর্গুমেন্ট হিসাবে ব্যবহার করা যাবে না, যা আপনি লজ্জাজনক। এটা খুব সুবিধাজনক হবে।
অন্ধত্বের উপকারের সাথে, এটি সংশ্লিষ্ট সকলের পক্ষে আরও ভাল হত যদি কিছু না করে শূন্য-প্রত্যাবর্তনের পদ্ধতিটি স্বয়ংক্রিয়ভাবে "ইউনিট" নামে ফিরে আসে, যা একটি ম্যাজিকাল সিঙ্গলটন রেফারেন্স টাইপ ছিল। তারপরে আপনি জানতেন যে প্রতিটি পদ্ধতি কল স্ট্যাকের উপরে কিছু রাখে , আপনি জানতেন যে প্রতিটি পদ্ধতি কলটি এমন কিছু ফেরত দেয় যা অবজেক্ট টাইপের ভেরিয়েবলের জন্য নির্ধারিত হতে পারে , এবং অবশ্যই ইউনিট টাইপ আর্গুমেন্ট হিসাবে ব্যবহার করা যেতে পারে , তাই সেখানে থাকবে আলাদা অ্যাকশন এবং ফানক প্রতিনিধি প্রকারের দরকার নেই। দুঃখের বিষয়, আমরা যে পৃথিবীতে আছি তা নয়।
এই শিরাতে আরও কিছু ধারণার জন্য দেখুন: