1

ExcelDNA を使用してメソッドをオーバーロードすることは可能ですか?

たとえば、私の現在のコード:

    [ExcelFunction(Category = "Test",
        IsVolatile=true)]
    public static String TestMethod()
    {
        return "Hello Everyone";
    }

    [ExcelFunction(Category = "Test",
        IsVolatile = true)]
    public static String TestMethod(String Name)
    {
        return "Hello, " + Name;
    }

これは簡単なように思えますが、Excel からメソッドを呼び出しても機能しないようです。実際、メソッドは表示されません (ただし、一方をコメントアウトすると、もう一方が表示されます)。

4

1 に答える 1

3

ExcelDna が関数のオーバーロードをサポートしているとは思わない。あなたの問題にアプローチする最善の方法は、1 つのオブジェクトをパラメーターとして受け取る 1 つの関数を作成することだと思います。次に、オブジェクトが System.Reflection.Missing かどうかを確認します。そうであれば、何も渡されなかったことを意味します。

クリス

于 2011-01-24T16:36:32.273 に答える