সি # তে ধ্রুবক


9

সংকলক কেন বিধানসভা মেটাটাটাতে ধ্রুবক মান সংরক্ষণ করে? এগুলি কি সমাবেশের মেটাডেটা থেকে সরাসরি মধ্যবর্তী ভাষা কোডে এম্বেড করা আছে?


1
এই সত্যিই মোকাবেলার করে না 'কেন' কিন্তু তা সত্ত্বেও আকর্ষণীয়: stackoverflow.com/a/2128633/128384
stijn

আমি এই প্রশ্ন দ্বারা বিভ্রান্ত। মেটাডেটা না থাকলে এগুলি আর কোথায় সংরক্ষণ করা হবে ? আপনি প্রশ্নটি পরিষ্কার করতে পারেন?
এরিক লিপার্ট

উত্তর:


4

আমি এটি সম্পর্কে সন্ধান করার সর্বোত্তম উপায়টি হ'ল: সংকলনের সময় কোনও কনস্টকে আক্ষরিক রূপান্তরিত করা হয় যেখানে এটি ব্যবহৃত হয়।

এটি বিধানসভায় ম্যানিফেস্টে যাওয়ার একমাত্র কারণ এটি সংজ্ঞায়িত হয়েছিল এটি ছিল গ্রাহকদের কাছে অ্যাক্সেসযোগ্য। এটি একটি প্রদত্ত প্রকারের একটি অংশ এবং সেই ধরণের মেটাডেটা এটির সমাবেশে সঞ্চিত হয়, এটি গ্রাহক সমাবেশগুলি নয়।

সুতরাং, এটি ব্যবহারের ক্ষেত্রে একটি ইন-লাইন আক্ষরিক, এবং মেটাডেটাতে একটি উপভোগযোগ্য টাইপ-এনক্যাপসুলেটেড সম্পত্তি বা ক্ষেত্র।


2

আমি নিজেকে দীর্ঘ সময় ধরে গবেষণা করেছিলাম এবং একটি বই থেকে পেয়েছি যে এটি কারণ হতে পারে ...

যেহেতু ধ্রুবক মানগুলি কখনই পরিবর্তন হয় না, ধ্রুবকগুলি সংজ্ঞায়িত ধরণের অংশ হিসাবে বিবেচিত হয়। সুতরাং স্থির সংজ্ঞাগুলি মেটাডেটা তৈরি করে।


1

আমার মনে হয় আপনি দুটি অ্যাসেমব্লিকে মিশ্রিত করেছেন।

ধ্রুবকটি কেবল সমাবেশে মেটাডেটাতে সংরক্ষণ করা হয় যেখানে এটি সংজ্ঞায়িত করা হয় । মেটাডেটাতে সমস্ত প্রকারের সম্পর্কিত তথ্য থাকে এবং একটি অ্যাসেমব্লির সদস্য এবং স্থির সদস্যরা থাকে।

ধ্রুবক সম্পর্কে কোনও তথ্য সমাবেশ যেখানে এটি ব্যবহৃত হয় সেখানে সংরক্ষণ করা হয় না । ধ্রুবক মানটি সরাসরি আইএল-তে ব্যবহৃত হয় যেমন আপনি সরাসরি উত্সে ধ্রুবক সংখ্যা বা স্ট্রিং লিখেছিলেন।

একটি উদাহরণ: আমার একটি অ্যাপ্লিকেশন ডেটাবেস টেবিল এবং ক্ষেত্রগুলি সনাক্ত করতে প্রচুর ধ্রুবক ব্যবহার করে। আমার কাছে একটি অ্যাসেমব্লি রয়েছে যাতে কেবল সমস্ত ধ্রুবক থাকে contain

আমি যখন অ্যাপ্লিকেশনটি তৈরি করি তখন আমি ভিজ্যুয়াল স্টুডিওতে "কনস্ট্যান্টস" সমাবেশে একটি উল্লেখ যুক্ত করি a যেহেতু অ্যাসেমব্লিতে কেবলমাত্র ধ্রুবক রয়েছে সেগুলি আমার আবেদনে এর কোনও উল্লেখ নেই এবং রান-টাইমে "কনস্ট্যান্টস" সমাবেশের প্রয়োজন নেই।


2
যদিও মেটাডেটাতে ধ্রুবকগুলি সংরক্ষণ করা হয় তা এটি সত্যই ব্যাখ্যা করে না। এটি কেন চারদিকে নাচছে, তবে আমি মনে করি না যে ওপি দুটি অ্যাসেমব্লিকে মোটেই বিভ্রান্ত করছে। আপনি এটি দুটি দ্বি-সমাবেশের ইস্যু হিসাবে দেখেন কারণ আপনি দুটি অ্যাসেম্বলি ব্যবহার করেন তবে আমি অনুশীলনটি সাধারণ বলে মনে করি না; ধ্রুবকগুলি সাধারণত একই সমাবেশে সংজ্ঞায়িত হয় যেখানে তারা ব্যবহৃত হয়।
রবার্ট হার্ভে

@ রবার্টহারভে আপনার সাধারণ ক্ষেত্রে আমাদের অনুধাবন করা আমাদের অনেক উদ্যোগের # সি সহকর্মীর দক্ষতার চেয়ে বেশি মূল্যায়ন করে, আমাকে বহুবার বোঝাতে হয়েছিল যে সহকর্মীদের কাছে কোন কনস্টেন্ট এবং আপনি কেন তাদেরকে সম্মেলনগুলিতে ডাকেন না।
জিমি হোফা

1

ধ্রুবকগুলি সংকলনের সময় জানা যায় এবং তারপরে সেগুলি সমাবেশের মেটাডেটাতে সংরক্ষণ করা হয়। এর অর্থ আপনি কেবল আদিম ধরণের জন্য ধ্রুবককে সংজ্ঞায়িত করতে পারেন।

হ্যাঁ এগুলি সরাসরি মেটাডেটা থেকে লোড হয়। রানটাইমে কোনও মেমরি বরাদ্দ থাকবে না।


1
দশমিক কোনও প্রাথমিক টাইপ নয় তবে আপনি দশমিক ধ্রুবক তৈরি করতে পারেন। এবং আপনি যে কোনও রেফারেন্স ধরণের ধ্রুবকটি শালীন যে সরবরাহ করেছেন তা স্থির করতে পারেন।
এরিক লিপার্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.