C#中嵌入互操作类型的含义
首先说一下它的含义:
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); }
至于是不是这个原因,需要大家去探索一下。
你们的评论、反馈,及对你们有所用,是我整理材料和博文写作的最大的鼓励和唯一动力。欢迎讨论和关注!
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。