我在Windows窗体中有一个构造函数
public frmSecondarySEC(int intPrimaryDocumentId, int intSecondaryDocumentId, string strStateCode, int intCountyId, string strPrimaryDocTypeName, string strPrimaryDocTypeCode, string strDealName, string strLoanNumber, int intDealId, string strDealType, string strCountyName, bool blIsFileReview)
{
}
现在我需要将一个额外的参数传递给这个构造函数。为此,我创建了这个构造函数的重载版本,以便使用原始构造函数的其他类不会分解。只是添加了新参数。
public frmSecondarySEC(int intPrimaryDocumentId, int intSecondaryDocumentId, string strStateCode, int intCountyId, string strPrimaryDocTypeName, string strPrimaryDocTypeCode, string strDealName, string strLoanNumber, int intDealId, string strDealType, string strCountyName, bool blIsFileReview,string primaryDocumentTitle)
{
}
现在,由于他们共享commom初始化代码,我尝试了构造函数链接
public frmSecondarySEC(int intPrimaryDocumentId, int intSecondaryDocumentId, string strStateCode, int intCountyId, string strPrimaryDocTypeName, string strPrimaryDocTypeCode, string strDealName, string strLoanNumber,int intDealId, string strDealType, string strCountyName, bool blIsFileReview) : this(int intPrimaryDocumentId, int intSecondaryDocumentId, string strStateCode, int intCountyId, string strPrimaryDocTypeName, string strPrimaryDocTypeCode, string strDealName, string strLoanNumber, int intDealId, string strDealType, string strCountyName, bool blIsFileReview)
{
}
但是我在这部分时遇到错误
:this(int intPrimaryDocumentId
说
无效的表达式术语'int'。我使用错误的构造函数链接实现,或者可以通过其他方式完成。我想防止重复代码。请建议。
答案 0 :(得分:6)
它知道类型,只需传递参数。
:this(intPrimaryDocumentId)
答案 1 :(得分:1)
你可以像这样打电话给另一个:
public M (int k) { }
public M () : this(1) { }
因此,您不会重新定义变量,只需将其传入,就像调用方法一样。
答案 2 :(得分:1)
链接构造函数时,不再指定类型。它应该是:
public frmSecondarySEC(int intPrimaryDocumentId, int intSecondaryDocumentId, string strStateCode, int intCountyId, string strPrimaryDocTypeName, string strPrimaryDocTypeCode, string strDealName, string strLoanNumber,int intDealId, string strDealType, string strCountyName, bool blIsFileReview)
: this(intPrimaryDocumentId, intSecondaryDocumentId, strStateCode, intCountyId, strPrimaryDocTypeName, strPrimaryDocTypeCode, strDealName, strLoanNumber, intDealId, strDealType, strCountyName, blIsFileReview)
此外,您应该考虑是否所有这些参数都是必要的。严重。