忽略错误的VB.net生成解决方案
欢迎大家,我是新会员,这是我第一次就这个问题发帖 我需要您的帮助来建议我如何忽略错误并构建解决方案。 正如您所看到的,我的代码中有关于“参数太多”的错误“BC30057”。但我必须使用多种参数,因为此函数依赖于每台计算机上的.dll文件(多个版本的变量图形) 请告诉我,如果你有更好的解决方案,请告诉我 =======================================================================忽略错误的VB.net生成解决方案,vb.net,visual-studio,Vb.net,Visual Studio,欢迎大家,我是新会员,这是我第一次就这个问题发帖 我需要您的帮助来建议我如何忽略错误并构建解决方案。 正如您所看到的,我的代码中有关于“参数太多”的错误“BC30057”。但我必须使用多种参数,因为此函数依赖于每台计算机上的.dll文件(多个版本的变量图形) 请告诉我,如果你有更好的解决方案,请告诉我 ======================================================================= Select Case Group
Select Case Group
Case "A"
tmpStr = FITSCon.fn_InitDB(FITS_OPN, FITSRev)
Case "B"
tmpStr = FITSCon.fn_InitDB(FITS_Model, FITS_OPN, FITSRev, FITSName)
Case "C"
tmpStr = FITSCon.fn_InitDB(FITS_Model, FITS_OPN, FITSName)
End Select
==============================================================================================如果该代码位于
选项Strict
设置为关闭的文件中,则可以将FITSCon
分配给对象类型的变量,然后在此基础上调用方法。使用选项Strict Off
,允许延迟绑定,因此您可以在这种情况下使用任何想要的签名,只要它在运行时有效
Select Case Group
Case "A"
tmpStr = FITSCon.fn_InitDB(FITS_OPN, FITSRev)
Case "B"
tmpStr = FITSCon.fn_InitDB(FITS_Model, FITS_OPN, FITSRev, FITSName)
Case "C"
tmpStr = FITSCon.fn_InitDB(FITS_Model, FITS_OPN, FITSName)
End Select
如果您已经为项目设置了选项Strict Off
(这是VS的默认设置,但我建议更改),那么您只需执行以下操作:
Dim FITSConObject As Object = FITSCon
Select Case Group
Case "A"
tmpStr = FITSConObject.fn_InitDB(FITS_OPN, FITSRev)
Case "B"
tmpStr = FITSConObject.fn_InitDB(FITS_Model, FITS_OPN, FITSRev, FITSName)
Case "C"
tmpStr = FITSConObject.fn_InitDB(FITS_Model, FITS_OPN, FITSName)
End Select
如果您对项目有严格的选项,那么请留下一条注释,我将详细解释最佳操作过程,这将涉及将代码移动到单独代码文件中的分部类,因此,您可以将选项Strict关闭
,以获得最少的代码。该错误意味着您有一个方法调用,该方法具有该方法设计用于接收的更多参数。如果您有这个方法的源代码(fn_InitDB?),那么您可以为它添加一个重载,以接收正确数量的参数。如果没有源代码,则无法调用该方法,因为该方法传递的参数比预期的要多。您是说,在不同的机器上,在不同版本的DLL中,该方法可能会使用不同数量的参数声明,或者您只想传递根据情况而变化的完整参数的子集?Hi@jmcilhinney正如您所说,使用不同版本的DLL文件声明的方法示例:PC1使用A1.DLL和PC2使用A1.2.DLL这两个DLL都有公共方法名称,只是不同的数字参数调用方法。Hi@Steve,由于我们的政策,我没有该dll文件的源代码。我现在对解决这个问题视而不见。