我有一种情况,我想从这个函数返回List <>
public DataTable GetSubCategoriesBySubCatID(Guid SubCategoryID)
Run Code Online (Sandbox Code Playgroud)
所以我想要的是
public List<SubCategories> GetSubCategoriesBySubCatID(Guid SubCategoryID)
Run Code Online (Sandbox Code Playgroud)
我知道仅基于返回类型不支持重载,我只是不想在两个函数中复制相同的代码.
什么是最好的方法来实现这一点,而不会影响第一个功能的参考
给他们不同的名字:
public DataTable GetSubCategoryTableBySubCatID(Guid subCatID)
public List<SubCategory> GetSubCategoryListBySubCatID(Guid subCatID)
Run Code Online (Sandbox Code Playgroud)
除了其他任何东西,这将使您在阅读调用代码时更清楚您感兴趣的方法.
如果这些应该以通用方式实现,请编写包含公共核心的私有方法,并从两个公共方法中调用它.例如,您可以使用委托来执行"我已找到结果,将其添加到您的集合"部分,或使用迭代器块:
// "action" will be called on each sub-category
private void FindSubCategoriesBySubCatID(Guid subCatID,
Action<SubCategory> action)
private IEnumerable<SubCategory> FindSubCategoriesBySubCatID(Guid subCatID)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
377 次 |
| 最近记录: |