সিটিওআর এর অর্থ কী?


221

অনেকগুলি # সি ফাইলগুলিতে আমি অঞ্চলগুলি ট্যাগগুলি (?) সংরক্ষণ করি যেগুলির নাম CTOR বা ctor tor Ctor মানে কি? কেন এমন অঞ্চলকে কর্টর বলা হয়?

উত্তর:


305

এটি "কনস্ট্রাক্টর" - এর জন্য কেবল শর্টহ্যান্ড - এবং এটিই কনস্ট্রাক্টরকে আইএল-তে ডাকা হয়। উদাহরণস্বরূপ, রিফ্লেক্টরটি খুলুন এবং একটি প্রকারটি দেখুন এবং আপনি দেখতে পাবেন .ctorবিভিন্ন কনস্ট্রাক্টরের জন্য সদস্যরা members


3
কেন এটি .ctor বলা হয়? সামনে (।) বিন্দুর অর্থ কী?
ইসুরুশানু

@ আইসুরুসানু: আমার সন্দেহ হয় এটি দেখানো হয়েছে যে এটি একটি সংরক্ষিত নাম। যদিও একটি অনুমান।
জন স্কিটি

এক্সএক্সএক্সএক্স সম্পর্কে কি? # সিটি ()? , এটি আমার FxCop কার্যকর করতে ব্যর্থ। stackoverflow.com/questions/17024149/…
আন্দ্রেস ব্লুমকভিস্ট

8
@ জেসি: আমি এর উচ্চারণ খুব কমই শুনেছি, তবে আমি এটিকে "দেখুন-টর" উচ্চারণ করব।
জন স্কিটি

5
@ আইসুরুসানু কিছু দিয়েই শুরু হয় "।" আইএল মেটাটাটা হয়।
যিহূদা

45

সাধারণত এই অঞ্চলে শ্রেণীর নির্মাতা থাকতে হবে


2
"থাকা উচিত" - এর অর্থ কি একটি .ctor সর্বদা একটি নির্মাণকারীর রেফারেন্স হয় না? বা কেবলমাত্র এটি সর্বদা শ্রেণীর নির্মাতার উল্লেখ না করে (কারণ এটি কোনও কাঠামোর উদাহরণ হিসাবে উল্লেখ করতে পারে)?
cogumel0

@ cogumel0 বরং বা "থাকা উচিত গুলি ;-)"
Sнаđошƒаӽ

36

আরও কিছুটা প্রসারিত করতে এখানে দুটি ধরণের কনস্ট্রাক্টর রয়েছে: ইনস্ট্যান্স ইনিশিয়েলাইজার (.ctor), টাইপ ইনিশিয়ালাইজার (.cctor)। নীচের কোডটি তৈরি করুন এবং ilasm.exe এ আইএল কোডটি অন্বেষণ করুন। আপনি লক্ষ্য করবেন যে স্ট্যাটিক ক্ষেত্র 'বি' .cctor () এর মাধ্যমে সূচনা করা হবে তবে উদাহরণ ক্ষেত্রটি .ctor () এর মাধ্যমে সূচনা হবে

internal sealed class CtorExplorer
{
   protected int a = 0;
   protected static int b = 0;
}

14

"Ctor" টাইপ করুন এবং দু'বার TAB কী টিপুন এটি স্বয়ংক্রিয়ভাবে ডিফল্ট নির্মাণকারী যুক্ত করবে


VS2013 এ (এবং আর # 2016.1 ব্যবহার করে) আমাকে কেবল একবার ট্যাব টিপতে হবে। ভিএস / আর # এর অন্যান্য সংস্করণ সম্পর্কে নিশ্চিত নয়
রোবিনমেকেনজি

13
এটি প্রশ্নের উত্তর নয়।
মালফিস্ট

9
কোনও উত্তর নয়, তাই নিম্নমানের। তবে একটি আকর্ষণীয় বিষয়, তাই অনাবৃত। :-)
Sнаđошƒаӽ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.