在更改代码位置之前,我的代码可以正常工作。 实际上使用全名,例如 System.Data.DataTable 可以解决此问题,但是我需要这样做。谁能建议我在所有页面中解决此问题的更明智的方法。
答案 0 :(得分:1)
之所以发生这种情况,是因为您同时使用了两个名称空间:
using System.Data.DataTable;
using Microsoft.Office.Interop.Word.DataTable;
两者都有一个名为DataTable
的类对象。
呼叫时,例如:
DataTable table = new DataTable();
编译器无法区分您尝试调用/使用的DataTable
的对象-
System.Data.DataTable
下的一个或Microsoft.Office.Interop.Word.DataTable
下的一个,因此也出错。
编译器要求您指定对象位于哪个名称空间,因为它无法自行确定
答案 1 :(得分:1)
System.Data
和Microsoft.Office.Interop.Word
有一个名为DataTable
的类。因此,当您要使用DataTable
或System.Data
中的Microsoft.Office.Interop.Word
时,必须在代码中明确指定。
请塞隆,您认为DataTable
中的System.Data
比其他人更常用。然后,您可以为命名空间Microsoft.Office.Interop.Word
加上别名,并修复要在DataTable
中使用Microsoft.Office.Interop.Word
时使用此别名的代码。这减少了代码的固定。
using DataTableWord = Microsoft.Office.Interop.Word;
var dataTable = new DataTableWord.DataTable();
答案 2 :(得分:0)
删除Microsoft.Office.Interop.Word.DataTable的引用,或者可以专门设置using语句。
using System.Data.DataTable
并删除指向参考Microsoft.Office.Interop.Word.DataTable的所有用法。
答案 3 :(得分:0)
您删除Microsoft.Office.Interop.Word.DataTable的引用或专门设置using语句。
使用System.Data.DataTable
并删除指向参考Microsoft.Office.Interop.Word.DataTable的所有用法。