我正在使用 ac# 包装器,在 c++ 库中,被调用的函数返回一个指向类对象的指针。在 c# 包装器中,如果我调用该方法,它会返回一个接口变量。该接口变量为空,因此我无法获取值。我应该如何处理该接口变量以获取值。任何人请帮助我。
在下面的代码中,我们有 ROOTNET.Interface.NTH1F 它是一个接口,其中 ROOTNET.NTH1F 是一个类
using ROOTNET.Utility;
using ROOTNET.Interface;
NTH1F g = new ROOTNET.NTH1F("g", "background removal", doubleArrayX.Length - 1,
doubleArrayX);
g.SetContent(doubleArrayY);
g.GetXaxis().SetRange(xmin, xmax);
ROOTNET.NTH1F bkg = new ROOTNET.NTH1F(g);
bkg.Reset();
bkg.Add(g.ShowBackground(80, ""));
在上面我希望将背景删除的值保存在 bkg 中,但 bkg 包含全零,请您帮我将 g 的背景删除值保存到 bkg 中。
ShowBackground(int niter, string option)
方法的代码在哪里
public unsafe virtual NTH1 ShowBackground (int niter, string option)
{
NetStringToConstCPP netStringToConstCPP = null;
NetStringToConstCPP netStringToConstCPP2 = new NetStringToConstCPP (option);
NTH1 bestObject;
try
{
netStringToConstCPP = netStringToConstCPP2;
int num = *(int*)this._instance + 912;
bestObject = ROOTObjectServices.GetBestObject<NTH1> (calli ((), this._instance, niter, netStringToConstCPP.op_Implicit (), *num));
}
catch
{
((IDisposable)netStringToConstCPP).Dispose ();
throw;
}
((IDisposable)netStringToConstCPP).Dispose ();
return bestObject;
}