সি # ক্লাস এবং সদস্যদের (ক্ষেত্র, পদ্ধতি ইত্যাদি) জন্য ডিফল্ট দৃশ্যমানতা?


164

আমি সি # এর বিভিন্ন দিকের ডিফল্ট দৃশ্যমানতার জন্য একটি রেফারেন্স সন্ধান করার চেষ্টা করছি। শ্রেণীর ধরণ, ক্ষেত্র, পদ্ধতি, এনাম ইত্যাদি

কেউ কি তাদের ডিফল্ট দৃশ্যমানতার (উদাহরণস্বরূপ, পূর্বনির্ধারিত কোনও সংশোধক) এর সাথে এর একটি তালিকা সরবরাহ করতে পারে?



8
আমি এটিকে সদৃশ হিসাবে বিবেচনা করব না ... প্রশ্নটি নির্দিষ্ট (
এইটির

উত্তর:


266

আপনি যে সমস্ত তথ্যের সন্ধান করছেন সেগুলি এখানে এবং এখানে পাওয়া যাবে (ধন্যবাদ রিড কোপসি ):

প্রথম লিঙ্ক থেকে:

শ্রেণি এবং স্ট্রাক্ট যা সরাসরি কোনও নেমস্পেসের মধ্যে ঘোষিত হয় (অন্য কথায়, যেগুলি অন্যান্য শ্রেণি বা স্ট্রাক্টের মধ্যে বাসা বাঁধে না) পাবলিক বা অভ্যন্তরীণ হতে পারে। কোনও অ্যাক্সেস মডিফায়ার নির্দিষ্ট না করা থাকলে অভ্যন্তরীণ ডিফল্ট

...

নেস্টেড ক্লাস এবং স্ট্রাক্ট সহ শ্রেণীর সদস্য এবং স্ট্রাক্ট সদস্যদের অ্যাক্সেস স্তরটি ডিফল্টরূপে ব্যক্তিগত

...

ইন্টারফেস অভ্যন্তরীণ অ্যাক্সেস ডিফল্ট ।

...

প্রতিনিধিরা ক্লাস এবং স্ট্রকের মতো আচরণ করে। ডিফল্টরূপে, যখন কোনও নামস্থানটিতে সরাসরি ঘোষিত করা হয় তখন এগুলি অভ্যন্তরীণ অ্যাক্সেস এবং নেস্টেড অবস্থায় ব্যক্তিগত অ্যাক্সেস রয়েছে


দ্বিতীয় লিঙ্ক থেকে:

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

এবং নেস্টেড ধরণের জন্য:

ডিফল্ট সদস্যদের অ্যাক্সেসযোগ্যতার সদস্যগণ
---------- ----------------------------
সর্বজনীন
ক্লাস প্রাইভেট
ইন্টারফেস পাবলিক
কাঠামো বেসরকারী

6
রিডের তথ্য থেকে একটি দুর্দান্ত সংকলন, তবে আপনি উল্লেখ করতে ভুলে গেছেন যে এই ধরণের অ্যাক্সেস মডিফায়ারগুলি পদ্ধতিগুলিতেও প্রযোজ্য।
জোয়েল

4
@ জোয়েল আপনার অর্থ কি? তিনি পরিষ্কারভাবে "সদস্য" বলেছেন। সদস্যরা ডেটা এবং আচরণ এবং এই পদ্ধতি সহ অন্তর্ভুক্ত।
রিজম

কোনও vb.net বিকাশকারী যদি এই দিকে তাকিয়ে থাকে তবে ভিবি আলাদা। ভিবি শ্রেণীর সদস্যদের জন্য ডিফল্ট সুযোগ PublicEnumসদস্যরাও আছেন Public। আপনার ক্ষেত্রে কেবল সুস্পষ্ট সুযোগ ব্যবহার করার জন্য সম্ভবত কম বিভ্রান্তিকর কারণ সম্ভাবনা বেশি তাই এটি কোনও সময়ে সি # বিকাশকারীদের দ্বারা অনুবাদ বা পড়া হবে। দুর্ভাগ্যক্রমে, vb.net কোড কোড জেনারেশন এটি আপনার জন্য করে না।
টুডমো

আমি যুক্ত করব যে কোনও শ্রেণীর মধ্যে নেস্টেড ইন্টারফেসটি ব্যক্তিগত হয়, অভ্যন্তরীণ নয়, ডিফল্ট হিসাবে।
ফ্র্যাঙ্ক ব্রাইস 4'15

13

এমএসডিএন থেকে:

শীর্ষ-স্তরের প্রকারগুলি , যা অন্য ধরণের নেস্টেড হয় না, কেবল সেগুলি internalবা publicঅ্যাক্সেসযোগ্যতা পেতে পারে। এই ধরণের জন্য ডিফল্ট অ্যাক্সেসযোগ্যতা internal


নেস্টেড টাইপগুলি , যা অন্যান্য ধরণের সদস্য, নিম্নলিখিত সারণিতে নির্দেশিত হিসাবে অ্যাক্সেসিবিলিটিগুলি ঘোষণা করতে পারে।

ডিফল্ট নেস্টেড সদস্য অ্যাক্সেসযোগ্যতা এবং অনুমোদিত অ্যাক্সেসিবিলিটি সংশোধক

উত্স: অ্যাক্সেসিবিলিটি স্তর (সি # রেফারেন্স) (ডিসেম্বর 6 , 2017)


9

ডিফল্টরূপে, কোনও শ্রেণীর অ্যাক্সেস মডিফায়ার internal। এর অর্থ হ'ল, একই সমাবেশের মধ্যে একটি শ্রেণি অ্যাক্সেসযোগ্য। তবে আমরা যদি চাই যে ক্লাসটি অন্যান্য সমাবেশ থেকে অ্যাক্সেস করা যায় তবে তা জনসাধারণকে প্রকাশ করতে হবে।


19
অন্যান্য উত্তরগুলিতে এই তথ্য ইতিমধ্যে উপস্থিত ছিল। আপনার কেবলমাত্র একটি প্রশ্নের উত্তর দেওয়া উচিত, বিশেষত কোনও পুরানো এর মতো, যখন আপনার কাছে অতিরিক্ত তথ্য সরবরাহ করতে হয় বা আপনি মনে করেন যে অন্য উত্তরগুলি ভুল। যাইহোক, স্ট্যাক ওভারফ্লোতে আপনাকে স্বাগতম।
গর্পিক

অ্যাসেম্বলিতে অ্যাক্সেসযোগ্য করার জন্য কোনও শ্রেণিকে অগত্যা জনসাধারণের প্রয়োজন হয় না। কেউ অভ্যন্তরীণ [assembly:InternalsVisibleTo("Friend1b")]
১am

0

ডিফল্টরূপে হয় private। যতক্ষণ না তারা নেস্টেড করছি, ক্লাস হয় internal


1
ডিফল্টভাবে enums পাবলিক হয় না?
রায়ান পিটারস

4
@ জায়ে: যদি না তারা বাসা বাঁধে। @ রায়ান: না, অ-নেস্টেড এনামগুলি ডিফল্টরূপে অভ্যন্তরীণ।
জন স্কিটি

2
@ রায়ান: এনাম সদস্যগণ ডিফল্টরূপে সর্বজনীন, তবে এনাম নিজেই অভ্যন্তরীণ।
রিড কোপসি

@ রিডকপসি তবে আমি যে বইটি থেকে শিখছি তা পরিষ্কারভাবে বলেছে enum members are private by default, so to use them outside the enum we should declare them as public। আপনি দয়া করে ব্যাখ্যা করতে পারেন যে বইটি আপনার কথার সাথে কেন বিরোধ করে? ধন্যবাদ।

@ ব্যবহারকারী 57794376 (স্পষ্টভাবে একটি মুছে ফেলা অ্যাকাউন্ট) যেই বই পড়ছে সেগুলিতে বইটিতে যা বলা আছে তা সত্য হলে সমস্ত 1-তারা পর্যালোচনা দেওয়া উচিত। মাইক্রোসফ্ট ডক্সের দিকে নজর দেওয়া কেবল এটিই জানতে পারে যে এনাম সদস্যরা ডিফল্টরূপে সর্বজনীন হন এবং কেন এনামদের পক্ষে কেবল তাদের উপর স্পষ্ট না হওয়া সাধারণ বিষয়।
রডনি এস ফোলে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.