আমি প্রায়শই নিজেকে এনাম হিসাবে কোনও ধরণের নিজস্ব স্ট্যাটাসের সম্পত্তি বজায় রাখার জন্য একটি শ্রেণি বাস্তবায়ন করতে দেখি: আমার কাছে স্ট্যাটাস এনাম এবং স্থিতির ধরণের এক স্ট্যাটাস সম্পত্তি রয়েছে। এই নামের দ্বন্দ্ব কীভাবে সমাধান করব?
public class Car
{
public enum Status
{
Off,
Starting,
Moving
};
Status status = Status.Off;
public Status Status // <===== Won't compile =====
{
get { return status; }
set { status = value; DoSomething(); }
}
}
যদি স্ট্যাটাস এনামটি বিভিন্ন ধরণের মধ্যে সাধারণ হয় তবে আমি এটি শ্রেণীর বাইরে রাখতাম এবং সমস্যাটি সমাধান হয়ে যেত। তবে স্ট্যাটাস কেবল কারের জন্যই প্রযোজ্য তাই ক্লাসের বাইরে এনাম ঘোষণা করা কোনও অর্থবোধ করে না।
এই ক্ষেত্রে আপনি কোন নামকরণের কনভেনশন ব্যবহার করেন?
বিশেষ দ্রষ্টব্য: এই প্রশ্নের আংশিকভাবে এর একটি উত্তর মন্তব্য বিতর্ক হয়েছিল এই প্রশ্নের । যেহেতু এটি মূল প্রশ্ন নয়, এটি খুব বেশি দৃশ্যমানতা পায়নি।
সম্পাদনা: ফিলিপ একবার্গ 'স্ট্যাটাস'-এর নির্দিষ্ট ক্ষেত্রে আইএমওর দুর্দান্ত কাজের প্রস্তাব দেয়। তবুও আমি মাইল প্রেভেকির উত্তরের মতো এনাম / সম্পত্তির নাম আলাদা হওয়ার মতো সমাধানগুলি সম্পর্কে জানতে আগ্রহী হব ।
সম্পাদনা 2 (মে 2010): আমার প্রিয় সমাধানটি হ'ল এনাম টাইপের নাম বহুবচন করা, যেমন ক্রিস এস পরামর্শ দিয়েছিলেন, এমএসের নির্দেশিকা অনুসারে, এটি কেবল পতাকা এনামগুলিতে ব্যবহার করা উচিত। তবে আমি এটিকে আরও বেশি করে পছন্দ করতে এসেছি। আমি এখন এটি নিয়মিত এনামগুলিতেও ব্যবহার করি।