我在.NET中有类,并将此类作为foxpro的COM对象调用。 该类具有可以接受不同类类型作为参数的方法。 如何将NULL传递给.NET类方法?
[ClassInterface(ClassInterfaceType.AutoDual)]
[ProgId("ParameterClass")]
[ComVisible(true)]
class ParameterClass
{
public ParameterClass f_ClassMethod_2(ParameterClass _d)
{
Debugger.Launch();
return _d;
}
}
在VFP中创建对象:
cls= CREATEOBJECT("ParameterClass ")
此代码返回错误:
obj3 = cls.f_ClassMethod_2(null)
//Error: OLE error code 0x80070057: The parameter is incorrect.
或此代码:
obj3 = cls.f_ClassMethod_2(.Null.)
//Error: OLE error code 0x80070057: The parameter is incorrect.
或此代码:
prm = .Null.
obj3 = cls.f_ClassMethod_2(prm)
//Error: OLE error code 0x80070057: The parameter is incorrect.
答案 0 :(得分:0)
由于你在它们之间遇到NULL解释问题,我会在你的VB中尝试一个额外的方法,比如..然后直接从内部调用你的方法
public ParameterClass f_ClassMethodAsNULL()
{
f_ClassMethod_2( null );
... etc...
}
然后,您应该能够从VFP调用函数f_ClassMethodAsNULL()