C# 래퍼를 사용하고 있으며 C++ 라이브러리에서 호출 된 함수는 클래스 개체에 대한 포인터를 반환합니다. C# 래퍼에서 해당 메서드를 호출하면 인터페이스 변수가 반환됩니다. 해당 인터페이스 변수가 null이므로 값을 가져올 수 없습니다. 값을 얻으려면 해당 인터페이스 변수를 어떻게 처리해야합니까? 누구든지 도와주세요. 아래의 코드에서 메서드에 의해 반환 된 인터페이스 변수를 객체로 변환하는 방법은 무엇입니까?
우리는 ROOTNET.Interface.NTH1F 그것이 ROOTNET.NTH1F 클래스 임은 backgroung에 제거 값을 기대 위에서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에 저장되어야하는 인터페이스이며,이 모두 0을 포함하고 있습니다. 백그라운드에서 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;
}
나는 가까운 투표에 동의하지 않습니다. _specific_이지만 _local_는 아닙니다. 나는이 질문이 앞으로는 방문자가 다시 물어 보지 않을지라도 볼 수있다. 앞으로 질문을 마감 할 투표를하십시오. –
누구든지 제발 도와주세요, 제가 질문을 제대로하지 않은 경우 미안 해요, 나는 학습자입니다. – UserCSharp
시도한 것에 대한 몇 가지 예를 제공해주십시오. 코드입니다. –