PDA

View Full Version : مشکل در ارسال enum‌ به عنوان پارامتر به یک متد



ordebehesht
چهارشنبه 07 فروردین 1392, 20:21 عصر
با سلام من یه enum‌ ایجاد کردم

enum language
{
English, Farsi
};


اینم متدی که enum رو تو فرستادم

public void strings(language l)
{
if (l.ToString()=="farsi")
{
MessageBox.Show("test");
}
}


اینم متن خطا

Error 1 Inconsistent accessibility: parameter type 'ConnectToDataBase.MyMessageBox.language' is less accessible than method 'ConnectToDataBase.MyMessageBox.strings(ConnectToD ataBase.MyMessageBox.language)'

لطف کنین راهنمایی کنین این چی میگه

mousa1992
چهارشنبه 07 فروردین 1392, 20:50 عصر
سلام
سطح دسترسی برای enum رو public تعریف کنین

موفق باشی
یا علی

ordebehesht
چهارشنبه 07 فروردین 1392, 21:22 عصر
میشه بیشتر توضیح بدین

RED-C0DE
چهارشنبه 07 فروردین 1392, 21:36 عصر
enum ای ک تعریف کردی رو public تعریف کن

مطلب بعد اینکه چرا موقع مقایسه ToString کردی و مقایسش کردی؟

alexmcse
چهارشنبه 07 فروردین 1392, 22:30 عصر
سلام
تابع برگشتی این تابع ینیوم است
public enum language
{
English, Farsi
};

public Enum get_language(language l)
{
switch (l)
{
case language.English:
return language.English;

case language.Farsi:
return language.Farsi;

default:
return language.English;
}
}

mousa1992
پنج شنبه 08 فروردین 1392, 21:44 عصر
میشه بیشتر توضیح بدین
سلام

عذر میخوام بابت تاخیر
متدی که شما فراخوانی میکنید نیاز به یک ارگومان از نوع enum تعریف شده داره و شما به قطع متدتون و enum رو توی ی کلاس تعریف کردین و دارید از ی کلاس دیگه متد رو فراخوانی میکنید خب اگه کلاسی که متد رو فراخوانی میکنه دسترسی به enum نداشته باشه این ارور رو میده و با public تعریف کردن enum میتونید از اون استفاه کنید
اگه بیاید متدتون رو توی همون کلاسی که تعریف شده فراخوانی کنید و enum هم public نباشه براتون مشکل ایجاد نمیکنه چون به هم دسترسی دارن

موفق باشی دوست عزیز
یا علی