C# 将null参数从VFP传递到.NET Com类
我在.NET中有一个类,并从foxpro中将该类作为COM对象调用。 此类具有可以接受不同类类型作为参数的方法。 如何将NULL传递给.NET类方法C# 将null参数从VFP传递到.NET Com类,c#,com,null,visual-foxpro,foxpro,C#,Com,Null,Visual Foxpro,Foxpro,我在.NET中有一个类,并从foxpro中将该类作为COM对象调用。 此类具有可以接受不同类类型作为参数的方法。 如何将NULL传递给.NET类方法 [ClassInterface(ClassInterfaceType.AutoDual)] [ProgId("ParameterClass")] [ComVisible(true)] class ParameterClass { public ParameterClass f_ClassMethod_2(ParameterClass _d)
[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.
或此代码:
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.
由于它们之间的空解释存在问题,我将在VB中尝试一个额外的方法,例如。。然后直接从方法内部调用方法
public ParameterClass f_ClassMethodAsNULL()
{
f_ClassMethod_2( null );
... etc...
}
然后,您应该能够从VFP调用函数f_ClassMethodAsNULL()