这是一个小的实例,我想请问如何创建store对象,才能让外部能调用它的内部对象并执行内部对象的方法
class Program
{
static void Main(string[] args)
{
// 1. 创建一个 存储 对象
Store store = new Store();
// 2. 调用内部对象StaffDB的Add方法
store.StaffDB.Add("admin", "admin", admin: true);
// 3. 调用内部对象StaffDB的Login方法
if (store.StaffDB.Login("admin", "admin"))
{
// 4. 调用内部对象CustomerDB的Add方法
store.CustomerDB.Add(
name: "Ted",
surname: "Lasso",
phone: "0498-123-123",
address: "2 Fake St",
email: "tedlasso@email.com",
id: 1
);
}
// 5. 调用store的Destroy方法
store.Destory();
}
}
public class Store
{
// 私有变量,存储一些数据,内部类会用到它的值
internal int _id;
// 我觉得这个对象应该是个静态的,不然没法实现访问
// (实例化后的)store.Staff.Add()方法,但是静态内部方法也不可能调用到外部的属性
// 请指点我该如何设计Store类才能满足要求
public static class Staff
{
public static void Add()
{
Console.WriteLine("执行了内部类Staff中的Add方法");
// 我想在这获取被实例化后的_id的值
}
}
};
麻烦指点一下,如何设计Store对象才能达到效果,谢谢
示例如下:
// 1. 创建一个 存储 对象
Store store = new Store();
// 2. 调用内部对象StaffDB的Add方法
store.StaffDB.Add("admin", "admin", admin: true);
// 3. 调用内部对象StaffDB的Login方法
if (store.StaffDB.Login("admin", "admin"))
{
// 4. 调用内部对象CustomerDB的Add方法
store.CustomerDB.Add(
name: "Ted",
surname: "Lasso",
phone: "0498-123-123",
address: "2 Fake St",
email: "tedlasso@email.com",
id: 1
);
}
// 5. 调用store的Destroy方法
store.Destory();
public class Store
{
public StaffDB StaffDB { get; set; }
public CustomerDB CustomerDB { get; set; }
public void Destory()
{
}
}
public class StaffDB
{
public void Add(string p1, string p2, bool admin)
{
Console.WriteLine("执行了内部类Staff中的Add方法");
}
public bool Login(string username, string password)
{
return true;
}
}
public class CustomerDB
{
public void Add(string name, string surname, string phone, string address, string email, int id)
{
}
}
我还写了一系列的C#编程教程,供参考:
静态类和静态方法直接用类名称调用,而不是实例对象。不过既然提供给其他类访问,干嘛放内部?
Store.Staff.Add();
如果是需要调用Store内部的方法,需要将Store类内部的方法声明为public