Variant type (COM)
কম্পোনেন্ট অবজেক্ট মডেল ব্যবহার করার সময় ভেরিয়েন্ট নির্দিষ্ট কিছু প্রোগ্রামিং ভাষায়, বিশেষ করে ভিজ্যুয়াল বেসিক, ওসিএএমএল, ডেলফি এবং সি + +-এ একটি ডেটা টাইপ। এটি কম্পিউটার বিজ্ঞানে একই নামের ধারণার একটি বাস্তবায়ন। ভিজ্যুয়াল বেসিক (এবং অ্যাপ্লিকেশনের জন্য ভিজ্যুয়াল বেসিক)-এ ভ্যারিয়েন্ট ডেটা টাইপ হল একটি ট্যাগ করা ইউনিয়ন যা অন্য যে কোনও ডেটা টাইপের প্রতিনিধিত্ব করতে ব্যবহার করা যেতে পারে (উদাহরণস্বরূপ, পূর্ণসংখ্যা, ভাসমান-বিন্দু, একক-এবং দ্বৈত-নির্ভুলতা, বস্তু ইত্যাদি)। নির্দিষ্ট দৈর্ঘ্যের স্ট্রিং প্রকার ব্যতীত। ভিজ্যুয়াল বেসিক-এ, যে কোনও পরিবর্তনশীলকে স্পষ্টভাবে ঘোষণা করা হয় না বা যার ধরন স্পষ্টভাবে ঘোষণা করা হয় না, তাকে একটি বৈকল্পিক হিসাবে নেওয়া হয়। যদিও স্পষ্টভাবে ঘোষিত নয় এমন রূপগুলির ব্যবহারের পরামর্শ দেওয়া হয় না, তবে এগুলি তখনই কার্যকর হতে পারে যখন প্রয়োজনীয় ডেটা প্রকারটি কেবল রানটাইমে জানা যায়, যখন ডেটা প্রকারটি পরিবর্তিত হওয়ার আশা করা হয়, বা যখন ঐচ্ছিক পরামিতি এবং পরামিতি অ্যারে পছন্দসই হয়। প্রকৃতপক্ষে, গতিশীল টাইপ সিস্টেম সহ ভাষাগুলিতে প্রায়শই ভেরিয়েবলের জন্য একমাত্র উপলব্ধ প্রকার হিসাবে বৈকল্পিক থাকে। ভিজুয়াল বেসিক. নেট-এর প্রধান পরিবর্তনগুলির মধ্যে, একটি. নেট ভাষা হওয়ায়, বৈকল্পিক প্রকারটি. নেট অবজেক্ট টাইপ দ্বারা প্রতিস্থাপিত হয়েছিল। ধারণার মধ্যে সাদৃশ্য রয়েছে, তবে প্রধান পার্থক্যও রয়েছে এবং এই দুটি প্রকারের মধ্যে কোনও সরাসরি রূপান্তর বিদ্যমান নেই। রূপান্তরের জন্য, যেমন প্রয়োজন হতে পারে যদি ভিজ্যুয়াল বেসিক. নেট কোড একটি ভিজ্যুয়াল বেসিক 6 কম অবজেক্টের সাথে মিথস্ক্রিয়া করে, স্বাভাবিক পদ্ধতি হল. নেট মার্শালিং ব্যবহার করা। উদাহরণস্বরূপ, ভিজ্যুয়াল বেসিক-এ, এ নামে একটি বৈকল্পিককে স্পষ্টভাবে বা অন্তর্নিহিতভাবে ঘোষণা করা যেতে পারেঃ ডেলফিতে ভেরিয়েন্ট হিসাবে ডিম এ ডিম এ, এ নামে একটি বৈকল্পিককে নিম্নলিখিত উপায়ে ঘোষণা করা হয়ঃ ভার এঃ বৈকল্পিক; ফরম্যাট একটি বৈকল্পিক প্রকারের পরিবর্তনশীল, একটি "বৈকল্পিক" নামক সংক্ষিপ্ততার জন্য, যা ভিজ্যুয়াল বেসিক-এ সংজ্ঞায়িত করা হয়েছে, তার জন্য 16 বিট সংরক্ষণের প্রয়োজন এবং এর বিন্যাস নিম্নরূপঃ প্রকারগুলি ভিজ্যুয়াল বেসিক অনুসরণে সম্মুখীন হতে পারে এমন বৈকল্পিকগুলির কয়েকটি উদাহরণ। অন্যান্য ভাষায় অন্যান্য ধরনের রূপও ব্যবহার করা যেতে পারে। 1 একটি আরম্ভহীন বৈকল্পিকের প্রকার। 2 একটি ডাটাবেসে একটি এন. ইউ. এল. এল মানের প্রকার, অর্থাৎ, আরম্ভহীন নয়, বা সি + + নাল পয়েন্টারের সমতুল্য নয়। 3 অনুপস্থিত আর্গুমেন্টগুলি আসলে "প্যারামিটার পাওয়া যায়নি" শিরোনামে একটি নির্দিষ্ট ত্রুটি মান। 4 অবজেক্ট টাইপ একটি নাল রেফারেন্স-এ সেট করা। 5 টাইপনেম বস্তুটির ক্লাসের নাম ফিরিয়ে দেবে। ডেটা একটি ইন্টারফেস পয়েন্টার হবে, অর্থাৎ একটি ভার্চুয়াল পদ্ধতি টেবিলের পয়েন্টারের একটি পয়েন্টার (যা ফাংশন পয়েন্টারের একটি অ্যারে)। সাধারণ ব্যবহার সংগ্রহ ও. এল. ই অটোমেশনের সংগ্রহ শ্রেণী বিভিন্ন ধরনের তথ্য সংরক্ষণ করতে পারে। যেহেতু এই আইটেমগুলির তথ্যের ধরন সংকলনের সময় জানা যায় না, তাই সংগ্রহে আইটেমগুলি যুক্ত করার এবং সংগ্রহ থেকে আইটেমগুলি পুনরুদ্ধারের পদ্ধতিগুলি ভিন্নভাবে ব্যবহৃত হয়। যদি ভিজ্যুয়াল বেসিক-এ ফর এভরি কনস্ট্রাকশন ব্যবহার করা হয়, তবে ইটারেটর ভেরিয়েবলটি অবশ্যই অবজেক্ট টাইপ বা একটি বৈকল্পিক হতে হবে। ও. এল. ই অটোমেশনে আইডিস্প্যাচ ইন্টারফেস ব্যবহার করা হয় যখন কোনও বস্তুর শ্রেণী আগে থেকে জানা যায় না। সুতরাং এই ধরনের বস্তুর উপর একটি পদ্ধতি কল করার সময় কম্পাইলের সময় আর্গুমেন্টের ধরন এবং রিটার্ন মান জানা যায় না। আর্গুমেন্টগুলি ভেরিয়েন্টগুলির একটি অ্যারে হিসাবে পাস করা হয় এবং কলটি সম্পূর্ণ হলে একটি ভেরিয়েন্ট ফেরত দেওয়া হয়। ঐচ্ছিক পরামিতিগুলি ভিজ্যুয়াল বেসিক-এ একটি পদ্ধতি যুক্তি ঐচ্ছিক কীওয়ার্ডের সাথে প্রিফিক্স করে ঐচ্ছিক হিসাবে ঘোষণা করা যেতে পারে। যখন যুক্তিটি বাদ দেওয়া হয় তখন ভিজ্যুয়াল বেসিক পদ্ধতির একটি বিশেষ মান দেয়, যাকে উপরের টেবিলে মিসিং বলা হয়, যা ইঙ্গিত করে যে যুক্তিটি অনুপস্থিত। যেহেতু মানটি একটি সরবরাহকৃত মূল্য বা একটি বিশেষ মূল্য হতে পারে, তাই একটি বৈকল্পিক অবশ্যই ব্যবহার করতে হবে। ফাংশন গেটটেক্সট (ঐচ্ছিক বাইভ্যাল সূচক) স্ট্রিং হিসাবে যদি ইসমিসিংগ (সূচক) হয় তবে গেটটেক্সট = আইটেম (বর্তমান আইটেম) অন্যথায় গেটটেক্সট = আইটেম (সূচক) শেষ যদি শেষ ফাংশন একইভাবে কীওয়ার্ড প্যারামএরে একটি বৈকল্পিক অ্যারেতে নিম্নলিখিত সমস্ত আর্গুমেন্ট পাস করতে ব্যবহার করা যেতে পারে। আরও দেখুন ট্যাগকৃত ইউনিয়ন ধরনের রেফারেন্স বাহ্যিক লিঙ্ক সি + + Boost.Variant https://msdn.microsoft.com/en-ca/library/cc237865.aspx https://msdn.microsoft.com/en-us/library/windows/desktop/aa380072 (ভি = vs.85). এএসপিএক্স বেসিক প্রোগ্রামিং ভাষা পরিবার ডেটা প্রকার