目前,我正在通过创建如下所示的静态方法来访问该属性。
public static class CartCollection : List<Cart>
{
public static void Add(Cart Cart)
{
Add(Cart);
}
}
我想要实现的是访问List&lt;&gt;的所有属性。
在课堂之外,我希望能够做到以下几点:
Cart cart = new Cart();
cart.SomeProperty = 0;
CartCollection.Add(cart);
谢谢!
答案 0 :(得分:1)
两件事:
1)不要继承List<T>
。实施IList<T>
。
2)使用单身人士:
public class CartCollection : IList<Cart>
{
public static readonly CartCollection Instance = new CartCollection();
private CartCollection() { }
// Implement IList<T> here
}
此外,当您在ASP.NET应用程序中使用它时,您应该知道静态成员由所有请求共享。在没有lock
的情况下使用这种代码可能会导致崩溃。即使您使用lock
,您也会在用户之间共享数据,这可能是您不想要的......
答案 1 :(得分:0)
不要继承List<>
,嵌入一个:
public static class CartCollection
{
private static List<Cart> _list = new List<Cart>();
public static void Add(Cart Cart)
{
_list.Add(Cart);
}
}
答案 2 :(得分:0)
为什么要将子类列入?如果您没有添加其他功能,为什么不使用List<Cart>
?
public static class CartCollection
{
public static readonly List<Cart> Instance = new List<Cart>();
}
Cart cart = new Cart();
cart.SomeProperty = 0;
CartCollection.Instance.Add(cart);