مشکل دسترسی متدها در 2 کلاس در ویژال c#2008
سلام من یه برنامه نوشتم که شامل 2 کلای هست یک کلاس برا اعضا نوشتم که درون آن شامل چند متد به نام های add,print,delete هست.
کلاس دوم که منو برنامه هست((static void Main(string[] args). من در این کلاس یک متد برای منو برنامه طراحی کردم که زمانی که کاربر یکی از گزینه ها رو انتخاب کرد متد مورد نظر از درون کلاس اعضا فراخوانی بشه مشکل اینجاست که متد فراخوانی میشه مثلا add اطلاعات وارد میکنم بعد از آن وقتی که متد print رو فراخوانی میکنم هیچ چیزی رو چاپ نمیکونه انگار اطلاعات add نشده .
حال گر من تمام متدهارو درون یک کلاس قرار دهم (add,print,delete,menu) برنامه کامل کارمیکونه.
لطفا راهمایی کنید .
کلاس اعضا :
کد:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace library
{
class Members
{
Program objp = new Program();
public Dictionary<int, classmembers> objclassmembers = new Dictionary<int, classmembers>();
Program objProgram = new Program();
//start classmembers
public class classmembers
{
private int MembershipNumber;
private string FirstName;
private string LastName;
private string FatherName;
private string BirthDate;
public int pMembershipNumber
{
get { return MembershipNumber; }
set { MembershipNumber = value; }
}
public string pFirstName
{
get { return FirstName; }
set { FirstName = value; }
}
public string pLastName
{
get { return LastName; }
set { LastName = value; }
}
public string pFatherName
{
get { return FatherName; }
set { FatherName = value; }
}
public string pBirthDate
{
get { return BirthDate; }
set { BirthDate = value; }
}
//-------------------------
private void set_members(int MembershipNumber, string FirstName, string LastName, string FatherName, string BirthDate)
{
pMembershipNumber = MembershipNumber;
pFirstName = FirstName;
pLastName = LastName;
pFatherName = FatherName;
pBirthDate = BirthDate;
}
//-------------------------
public classmembers(int MembershipNumber, string FirstName, string LastName, string FatherName, string BirthDate)
{set_members(MembershipNumber, FirstName, LastName, FatherName, BirthDate);}
//-------------------------
}
//end classmembers
//start method add
public void add()
{
Console.Clear();
Console.WriteLine("---------->>Add Members Menu<<----------");
Console.WriteLine();
String cont = "y";
int x = objclassmembers.Count();
while (cont == "y")
{
Console.WriteLine("Number member:" + x);
Console.WriteLine("Enter the MembershipNumber(ID):");
int MembershipNumber =Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter the firstName:");
string firstName = Console.ReadLine();
Console.WriteLine("Enter the lastName:");
string lastName = Console.ReadLine();
Console.WriteLine("Enter the FatherName:");
string FatherName = Console.ReadLine();
Console.WriteLine("Enter the BirthDate:");
string BirthDate = Console.ReadLine();
classmembers cust1 = new classmembers(MembershipNumber, firstName, lastName, FatherName, BirthDate);
objclassmembers.Add(x, cust1);
Console.WriteLine("-----------------------------------------");
Console.WriteLine("Do you want to continue add members(Y/N):");
cont = Console.ReadLine();
x += 1;
Console.WriteLine("-----------------------------------------");
}
objp.BaseMenu();
}
//start method print
public void print()
{
//Console.Clear();
Console.WriteLine("---------->>Add Members Menu<<----------");
Console.WriteLine();
Console.WriteLine(objclassmembers.Count());
foreach (KeyValuePair<int, classmembers> n in objclassmembers)
{
Console.WriteLine("MembershipNumber: {0}, FirstName: {1},LastName:{2},FatherName:{3},BirthDate:{4}",
n.Value.pMembershipNumber,
n.Value.pFirstName,
n.Value.pLastName,
n.Value.pFatherName,
n.Value.pBirthDate);
Console.WriteLine("____________________________________________________________________________");
}
Console.WriteLine("Count members:" + objclassmembers.Count);
Console.WriteLine("Do you want to return to Menu:(Y/N)");
String x=Console.ReadLine();
if (x == "y")
{
objp.BaseMenu();
}
else
{
Console.WriteLine("the program is ended");
}
}
//start method remove
public void remove()
{
Console.WriteLine("---------->>Remove Members Menu<<----------");
Console.WriteLine();
String cont = "y";
while (cont == "y")
{
Console.WriteLine("Plz enter the number member for remove:");
int x = Convert.ToInt32(Console.ReadLine());
objclassmembers.Remove(x);
Console.WriteLine("-----------------------------------------");
Console.WriteLine("Do you want to continue add members(Y/N):");
cont = Console.ReadLine();
x += 1;
Console.WriteLine("-----------------------------------------");
}
objp.BaseMenu();
}
//start method search
public void search()
{
Console.WriteLine("---------->>Remove Search Menu<<----------");
Console.WriteLine();
Console.WriteLine("Plz enter the number member:");
int x = Convert.ToInt32(Console.ReadLine());
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
int item = Convert.ToInt32(Console.ReadLine());
foreach (KeyValuePair<int, classmembers> custKeyVal in objclassmembers)
{
if (custKeyVal.Value.pMembershipNumber == item)
{
Console.WriteLine("MembershipNumber: {0}, FirstName: {1},LastName:{2},FatherName:{3},BirthDate:{4}",
custKeyVal.Key,
custKeyVal.Value.pFirstName,
custKeyVal.Value.pLastName,
custKeyVal.Value.pFatherName,
custKeyVal.Value.pBirthDate);
}
else
{
Console.WriteLine("not find item");
}
}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// public void BaseMenu()
//{
// Console.Clear();
// Console.WriteLine("---------->>Library<<----------");
// Console.WriteLine();
// Console.WriteLine("1-add");
// Console.WriteLine();
// Console.WriteLine("2-remove");
// Console.WriteLine();
// Console.WriteLine("3-print");
// Console.WriteLine();
// Console.WriteLine("4-Exit");
// Console.WriteLine();
// Console.WriteLine("-------------------------------");
// Console.WriteLine("Enter choice numbers:");
// int x = Convert.ToInt32(Console.ReadLine());
// Console.WriteLine("-------------------------------");
// switch (x)
// {
// case 1:
// add();
// break;
// case 2:
// Console.Clear();
// remove();
// break;
// case 3:
// Console.Clear();
// print();
// break;
// case 4:
// Console.Clear();
// //Console.WriteLine("Are you exit program(Y/N)");
// Console.Beep();
// break;
// default:
// Console.WriteLine("Incorrect Choice");
// break;
// }
//}
//static void Main(string[] args)
//{
// Members objMembers = new Members();
// objMembers.BaseMenu();
// //objMembers.add();
// //objMembers.print();
// //objMembers.remove();
//}
}
}
کلاس main برنامه :
کد:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace library
{
class Program
{
public void BaseMenu()
{
Members objm = new Members();
Console.Clear();
Console.WriteLine("---------->>Library<<----------");
Console.WriteLine();
Console.WriteLine("1-add");
Console.WriteLine();
Console.WriteLine("2-remove");
Console.WriteLine();
Console.WriteLine("3-print");
Console.WriteLine();
Console.WriteLine("4-Exit");
Console.WriteLine();
Console.WriteLine("-------------------------------");
Console.WriteLine("Enter choice numbers:");
int x = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("-------------------------------");
switch (x)
{
case 1:
objm.add();
break;
case 2:
Console.Clear();
objm.remove();
break;
case 3:
Console.Clear();
objm.print();
break;
case 4:
Console.Clear();
//Console.WriteLine("Are you exit program(Y/N)");
Console.Beep();
break;
default:
Console.WriteLine("Incorrect Choice");
break;
}
}
//----------------------End All Menu Programe
static void Main(string[] args)
{
Program objProgram = new Program();
objProgram.BaseMenu();
}
}
}