Vector クラス (MathNet) で作成したいくつかの拡張機能を使用できるメソッドを作成したいと思います。たとえば、Vector 拡張機能があります。
public static bool IsNaN(this Vector<double> m)
{
int i = Array.IndexOf(m.ToArray(), double.NaN);
bool b = (i == -1);
b = !b;
return b;
}
この拡張機能をパラメーターとして使用できるようにしたいと考えています。たとえば、次のようなものを書きたいと思います。
public static Vector<double> ApplyExtension(this Matrix<double> x, VectorExtension myOperation)
{
Vector<double> res = new DenseVector(x.ColumnCount, 0);
for (int i = 0; i < x.ColumnCount; i++)
{
res[i] = x.Row(i).myOperation();
}
return res;
}
もちろん、「VectorExtension」は明確に定義された型ではありません。私は代理人を作成しようとしました:
public delegate double VectorExtension(this Vector<double> d);
しかし、うまくいきません。誰かが私を助けることができますか?どうもありがとう!