首先說一下它的含義:
1. ”嵌入互操作類型”中的嵌入就是引進、導入的意思,類似於c#中using,c中include的作用,目的是告訴編譯器是否要把互操作類型引入。
2. “互操作類型”實際是指一系列Com組件的程序集,是公共運行庫中庫文件,類似於編譯好的類,接口等。
3. “嵌入互操作類型”設定為true,實際上就是不引入互操作集(編譯時候放棄Com程序集),僅編譯用戶代碼的程序集。而設定為false的話,實際就是需要從互操作程序集中獲取 COM 類型的類型信息。
它的設置方法是:
問題:
如下圖所示,有些時候互操作類型,在調試時的監視窗口中,就無法查看其變量,並不能顯示出其值,據猜測可能是在程序代碼中,並沒有對其進行引用。
所以可能需要如果查看某個互操作類型的具體值時,需要再代碼中先引用這個值,如下chart_group所示。
HWLPL_ChartInfo HWLPL_Data; Excel.ChartObjects hwlpl_charts; Excel.ChartObject chart_obj; Excel.Chart tmp_chart; int nchart_totall; Excel.ChartGroup chart_group; Excel.Series tmp_series; // get the chart data using (ExcelOperate_Tmp xlsHandle = new ExcelOperate_Tmp(strFilePath, false)) { xlsHandle.OpenOrCreate(); Excel.Worksheet sheet = xlsHandle.GetWorksheet(2); //"表" hwlpl_charts = (Excel.ChartObjects)sheet.ChartObjects(Type.Missing); nchart_totall = hwlpl_charts.Count; chart_obj = hwlpl_charts.Item(1); tmp_chart = chart_obj.Chart; //table = tmp_chart.SeriesCollection(Type.Missing); chart_group = (Excel.ChartGroup)tmp_chart.ChartGroups(1); tmp_series = (Excel.Series)chart_group.SeriesCollection(1); chart_group = (Excel.ChartGroup)tmp_chart.ChartGroups(0); }
至於是不是這個原因,需要大家去探索一下。