我正在编写一个C#应用程序,用棒球统计数据做一些事情.我从XML Web服务获取数据.我想完全分离演示文稿 - 业务数据层.我徒劳地创建了一个服务类来与Web服务进行交互,并从数据创建对象,一组业务类(即玩家,团队,联盟)以及我的表示层所需的对象.
我不想将统计信息加载到播放器类中,因为有超过200个统计信息,而且每次实例化播放器类时我都不需要它们.对于每个统计信息,我需要它的缩写,描述,XML属性名称和值.
问题:可以使用哪些C#数据结构或方法来呈现两个以上的属性,并允许其中几个属性在数据类型的所有实例中保持静态,并允许至少一个在运行时可写?
我开始创建一个像这样的"统计"类:
public class BaseballStatistic
{
public string Abbreviation;
public string Description;
public string XmlAttributeName;
public string Value;
public BaseballStatistic(string abbreviation, string description, string xmlAttributeName)
{
Abbreviation = abbreviation;
Description = description;
XmlAttributeName = xmlAttributeName;
}
}
Run Code Online (Sandbox Code Playgroud)
这个问题是我永远不需要在运行时更改缩写,描述或XML属性名称.
我觉得我应该知道这一点.
我应该补充一点:因为我可以使用很多不同的统计数据,如果我找到一个可以将它们暴露给Intellisense的解决方案,那将会很棒.例如:
统计g = Stats.G amesPlayed
听起来你需要一个类来进行"统计" - 然后是一个Dictionary<PlayerStat, int>(或任何值).
该PlayerStat班将了解的缩写,说明和XML属性名称-我倒是建议你可能要创建一个Dictionary<string, PlayerStat>静态从缩写映射统计,而另一个从XML属性映射到缩写.
你可能甚至不需要Dictionary<PlayerStat, int>你的Player班级...你总是可以添加一个索引器或方法来懒洋洋地查找.(但要小心这一点 - 你可能会发现懒散加载很多东西比一次加载所有东西都要贵.你可能想要将统计数据分成几类,并在加载一个类别时加载所有统计数据基本上,如果有一堆统计数据通常一起使用......)
| 归档时间: |
|
| 查看次数: |
129 次 |
| 最近记录: |