小编Yan*_*ang的帖子

使用C#编写的COM加载项与自动加载项的可选参数

我正在开发一个COM加载项和Excel自动化加载项库,其核心代码是用C#编写的.我想为函数设置一个可选参数,我知道这对于C#和VBA,甚至Excel WorksheetFunction都是合法的.但我发现最终可选参数专门用于COM和Automation加载项,这意味着如果首先运行一个加载项,那么效果很好但另一个加载项的可选参数将不起作用.

下面请看示例:

在VS 2013解决方案中,我有两个项目:一个被调用TestVBA,另一个被调用TestExcel.

TestVBA用于COM加载项并通过"Excel 2013加载项"构建,有两个.cs文件:

  1. ThisAddIn.cs

此文件自动生成并稍作修改.代码是

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Tools.Excel;

namespace TestVBA
{
    public partial class ThisAddIn
    {
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        private ExcelVBA oExcelVBA;

        protected override object RequestComAddInAutomationService()
        {
            if (oExcelVBA == null)
            {
                oExcelVBA = new ExcelVBA();
            }
            return oExcelVBA; …
Run Code Online (Sandbox Code Playgroud)

c# excel vsto add-in excel-addins

6
推荐指数
1
解决办法
352
查看次数

C++运算符+矩阵重载

我正在学习构建自己的Matrix类并得到关于operator +重载的问题.

Matrix Matrix::operator+(Matrix &b)
{
    Matrix temp;
    *
    *
    *
    return temp;
}
c = a + b;
Run Code Online (Sandbox Code Playgroud)

这非常有效,但我有点担心,我首先声明一个临时矩阵然后将其复制到最终目标(矩阵c)效率低下?例如,下面是一个天真的矩阵添加函数,

void matrixAdd(Matrix& c, Matrix& a, Matrix& b)
{
    c[][]=a[][]+b[][];
}
Run Code Online (Sandbox Code Playgroud)

当然,第一个更容易使用,但第二个会更快?如果是这样,我怎样才能改进第一个呢?

c++ overloading class matrix

3
推荐指数
1
解决办法
137
查看次数

标签 统计

add-in ×1

c# ×1

c++ ×1

class ×1

excel ×1

excel-addins ×1

matrix ×1

overloading ×1

vsto ×1