我应该在哪里放置多次调用的函数?

时间:2011-05-29 15:35:29

标签: c# asp.net c#-4.0 refactoring

这是此问题的后续行动How to avoid repeated code?

我正在使用带有C#的ASP.NET 4.0,我有一个名为FillDropDownList(DropDownList ddl, DataTable dt, string dataValueField, string dataTextField, string defValue)的函数,在我的一个ASP.NET页面上多次调用它来填充一些下拉列表。我现在发现我有几个页面需要以完全相同的方式填充几个下拉列表。

我应该创建一个新类并将该方法放在新类中,而不是在不同的页面中复制和粘贴相同的代码吗?我怎么称呼它?我该怎么称呼班级?它应该有其他功能吗?我想也许我应该叫它Util?你会做什么?

1 个答案:

答案 0 :(得分:3)

您可以创建静态类并将功能放在那里

public static class DropDownFiller
{
   public static void  FillDropDownList(DropDownList ddl, DataTable dt, string dataValueField, string dataTextField, string defValue)
   {
        /// bla bla
   }
}

或者你可以创建DropDownList的扩展(它也是一个静态类)

public static class DropDownListExtension
{
   public static void  FillDropDownList(this DropDownList ddl, DataTable dt, string dataValueField, string dataTextField, string defValue)
   {
        /// bla bla
   }
}

用法(类似于DropDownList的方法)

yourDropDownList.FillDropDownList(dataTable,valueField,textField,defValue);