PDA

View Full Version : عدم پذیرش یک پارامتر به عنوان ورودی



seven7777777
دوشنبه 14 اردیبهشت 1388, 16:36 عصر
خوب علتش چیه ؟
کدوم مشکل دارند ؟ یعنی کلاس بد تعریف شده اخه من جاهایدیگه هم این کلاس رو پاس دادم البته پارامتر توابعی بوده که خودم ساخته بودم .

seven7777777
دوشنبه 14 اردیبهشت 1388, 16:40 عصر
چرا ارسال پست یهو قات زد . پست من که باید سوم باشه رفت پست اول شد . اینم که الان دارم می نویسم باید 4 باشه خدا می دونه کجا بره !!!

NewFoxStudent
دوشنبه 14 اردیبهشت 1388, 16:45 عصر
به عنوان مثال توی کد بالا
کلاس User_Model باید به صورت public تعریف بشه تا بتونه به عنوان پارامتر به سازنده کلاس UserEditForm که خودش public تعریف شده ارسال بشه

NewFoxStudent
دوشنبه 14 اردیبهشت 1388, 16:48 عصر
به عنوان مثال در کد بالا کلاس User_Model باید به صورت public تعریف بشه تا بتونید یک نمونه از اون رو به سازنده کلاسی که به صورت public تعریف شده ارسال کنید
یعنی سطح دسترسی کلاسی که به عنوان پارامتر معرفی شده باید بیشتر از کلاس گیرنده پارامتر باشه
امیدوارم متوجه منظورم شده باشید

NewFoxStudent
دوشنبه 14 اردیبهشت 1388, 16:58 عصر
این پست رو دوباره ارسال میکنم چون قبل از سوال ارسال کرده بودم



به عنوان مثال توی کد بالا
کلاس User_Model باید به صورت public تعریف بشه تا بتونه به عنوان پارامتر به سازنده کلاس UserEditForm که خودش public تعریف شده ارسال بشه

salehbagheri
دوشنبه 14 اردیبهشت 1388, 17:40 عصر
چرا اين تاپيك اينجوريه؟؟؟!؟!؟ :گیج::گیج::متفکر::متفکر:

seven7777777
دوشنبه 14 اردیبهشت 1388, 22:27 عصر
دوستان من در یکی از فرم هام در سازندش این گونه نوشتم :


private User_Model user;
private DataGridView usersGrid;
private int selectedRow;
public UserEditForm(User_Model um, DataGridView dgv, int row)
{
InitializeComponent();
user = um;
usersGrid = dgv;
selectedRow = row;
}


بعد در فرمی اینجوری اونو صدا میزنم :


UserEditForm userEdit = new UserEditForm(user, Usersgrid, row);
userEdit.ShowDialog();


اما این خطا رو میده :

Error 1 Inconsistent accessibility: parameter type 'Sharif_Researchers.User_Model' is less accessible than method 'Sharif_Researchers.UserEditForm.UserEditForm(Shar if_Researchers.User_Model)' C:\Users\Seven\Documents\Visual Studio 2005\Projects\Sharif_Researchers\Sharif_Researcher s\UserEditForm.cs 17 16 Sharif_Researchers


میدونید مشکل از کجا آب میخوره ؟ وقتی پارامتری که گفته از ورودی بر می دارم راه میافته ، چه مشکلی با این پارامتر داره . User_Model یک کلاسه و قبلا هم به عنوان پارامتر اونو پاس دادم و مشکلی نبوده !!!

NewFoxStudent
دوشنبه 14 اردیبهشت 1388, 23:40 عصر
این یعنی اینکه متد گیرنده پارامتر اجازه دسترسی به کلاسی که به عنوان پارامتر ارسال شده نداره