Spo*_*oks 6 c# oop class-design class
我正在寻找一些课程结构帮助.让我们说我有一个名为Dog的班级保存关于狗的信息(名称,体重,类型),但因为可能有多只狗,我还想要一个班级来容纳所有这些狗,以便在整个项目中使用.这是最好的方法吗?
只是有一个DogList类,它将Dog类信息存储到公共列表中?允许我随意取回它?
或者列表应该是原始狗类中的静态列表?也许在构造函数中,每当有人创建一条新狗时,狗就会进入静态列表?
编辑:抱歉问题有点错过领先这是我到目前为止的结构,想知道是否有更好的方法来实现.
public class Dog
{
public string name{get;set;}
public int weight { get; set; }
}
public class DogFactory //not sure if thats the correct wording
{
public List<dog> lstDogs = new List<dog>();
public void setDogs()
{
Animal.Retrieve("Dog");
//will retrieve a list of all dogs, with details, though this is costly to use
foreach(Animal.Dog pet in Animal._Dogs)
{
Dog doggie = new doggie();
doggie.Name = pet.Name;
...etc
lstDog.add(doggie);
}
}
}
Run Code Online (Sandbox Code Playgroud)
制作狗列表的最简单方法是:
List<Dog>
这是一个强类型的Dogs列表,它使用List<T>System.Collections.Generic中的类.你可以做一个这样的课:
public class DogList : List<Dog>
虽然这通常是没有必要的,除非你想特别添加狗的列表属性而不是狗本身.
更新:
使用时通常不需要创建专用列表类List<T>.在大多数情况下,您可以这样做:
public class DogService
{
public List<Dog> GetAllDogs()
{
var r = new Repository(); // Your data repository
return r.Dogs.ToList(); // assuming your repository exposes a 'Dogs query'
}
}
Run Code Online (Sandbox Code Playgroud)
如果您使用LINQ来获取数据,则可以使用ToList()扩展来返回a List<T>,因此无需创建派生自的类List<T>.
| 归档时间: |
|
| 查看次数: |
649 次 |
| 最近记录: |