在使用块中创建的对象的切换源方法

时间:2015-08-27 09:36:49

标签: c#

我有一个进程用于将各种源的数据加载到SQL Server数据库。在这个过程中,我有几个方法,每个方法都使用文件数据并返回一个DataTable对象。根据要加载的数据类型,可以为任何一次运行调用其中一种方法。

这些方法创建的所有DataTable对象都由同一目标方法使用,该方法将数据传输到SQL Server。这导致了一些重复的代码:

if (useDT == 1)
        {
            using (DataTable dt = MakeDT1())
            {
                ConsumeDT(dt);
            }
        }

        if (useDT == 2)
        {
            using (DataTable dt = MakeDT2())
            {
                ConsumeDT(dt);
            }
        }

(为简洁起见,现实世界名称是描述性的)

如果可能的话,我想避免这种情况。是否可以预先计算调用生成DataTable的正确方法,然后只调用一次ConsumeDT(dt)?例如。

 switch (useDT)
            {
                case 1
                    dtCall = MakeDT1()
                    break;

                case 2
                    dtCall = MakeDT2()
            }

            using (DataTable dt = dtCall)
            //etc

提前致谢,Iain

0 个答案:

没有答案