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);
           }

 

 

至于是不是这个原因,需要大家去探索一下。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值