使用以下代码段的简单示例:
using System.Data;
using CustomerNameSpace;
...
...
CDataSet.CustomerDataTable dtCustomer = GetCustomer();
var customersWithName = dtCustomer.AsEnumerable()
.Where(x => x.Name != null)
.CopyToDataTable();
由于某种原因,我的同事在CopyToDataTable()
中创建了扩展方法CustomerNameSpace
。
在这种情况下,程序同时使用名称空间System.Data
和CustomerNameSpace
。
现在两者都包含扩展方法CopyToDataTable()
。
在下面的示例代码段中,有没有一种方法可以指定这两个名称空间中要使用的扩展方法?
答案 0 :(得分:3)
如果您在代码中绝对需要两个名称空间,则唯一的区分方法是将该方法称为“常规”静态方法而不是扩展方法:
var customers = dtCustomer.AsEnumerable()
.Where(x => x.Name != null);
CustomerNameSpace.MyExtensionsClass.CopyToDataTable(customers);