Я использую офис 2007 функция рабочего листа Excel в коде c#. VS2010 выдает это предупреждение
Предупреждение 3 Неоднозначностей между методом 'Microsoft. Office. Interop. Excel. _ Рабочий лист. Активируйтесь ()' и неметод 'Microsoft. Office. Interop. Excel. DocEvents_Event. Активируйтесь'. Используя группу метода. D:\EXLANEDB01p\dev\libraries\EXCEL\Excel.cs 531 95 EXCEL
Как я разрешаю это? вызов
xSheet.Activate();
где xSheet
переданный как касательно в вызове как
ref Microsoft.Office.Interop.Excel.Worksheet xSheet
Вам необходимо устранить неоднозначность имени Активировать
. В интерфейсе рабочего листа Activate
является либо методом (если рассматривается как объект _Worksheet
), либо событием (если рассматривается как объект DocEvents_Event
).
Сначала преобразуйте свой объект в Microsoft.Office.Interop.Excel._Worksheet
, затем вызовите Activate ()
.
((Microsoft.Office.Interop.Excel._Worksheet)xSheet).Activate();
Или объявите новую переменную _Worksheet
и используйте ее в своем методе.
_Worksheet sheet = xSheet;
sheet.Activate();
В противном случае вы можете изменить объявление метода, взяв ссылку на _Worksheet
вместо Worksheet
, а также на все связанные объявления.
void MyMethod(ref Microsoft.Office.Interop.Excel._Worksheet xSheet)
{
// ...
}
// usage:
_Worksheet sheet = new Worksheet();
MyMethod(ref sheet);