我仍在尝试分析函数的分离以及它如何应用于类创建和命名空间包含.我有一个自定义类SoftwareComponent,当呈现给用户时,通常会显示为ListItem.创建ToListItem方法是个好主意吗?我担心,因为我现在已经在类中放置了一个依赖项,需要包含System.Web.UI.WebControls命名空间.
public ListItem ToListItem() { ListItem li = new ListItem(); li.Text = ComponentName + " (+" + ComponentCost + ")"; li.Selected = Selected; return li; }
我的另一个倾向是根据类本身之外的属性从SoftwareComponent创建一个ListItem.请提供关于哪种方法更合适/更好的任何想法.
你能否提供这种额外的方法作为扩展方法?它似乎更适合作为实用程序类的一部分,可以通过创建提供此功能的静态方法而不是在主类作为第一类方法提供它作为选择.
public static class SoftwareComponentExtensions { public static ListItem ToListItem(this SoftwareComponent component) { ListItem li = new ListItem(component.ComponentName + " (+" + component.ComponentCost + ")"); li.Selected = component.Selected; return li; } }