如何將兩種方法轉換爲單一方法以提高效率並製作清晰簡潔的代碼?如何將兩種方法轉換爲單一方法來提高效率?
我有三個條件,像這樣的檢查,但我沒有提到(時間太長):
public void getmembershipstatusmembers()
{
if (cbGEStatustype.Text != "")
{
var totalmembers = from tsgentity in eclipse.members
join memtomships in eclipse.membertomships on tsgentity.member_Id equals memtomships.member_Id
join mshipoptiions in eclipse.mshipoptions on memtomships.mshipOption_Id equals mshipoptiions.mshipOption_Id
join mshiptypes in eclipse.mshiptypes on mshipoptiions.mshipType_Id equals mshiptypes.mshipType_Id
join mshipstatus in eclipse.mshipstatustypes on memtomships.mshipStatusType_Id equals mshipstatus.mshipStatusType_Id
where mshipstatus.mshipStatusType_Name.StartsWith(cbGEStatustype.Text)
select new
{
tsgentity.member_Id,
tsgentity.member_Lastname,
tsgentity.member_Firstname,
tsgentity.member_Postcode,
tsgentity.member_Reference,
tsgentity.member_CardNum,
tsgentity.member_IsBiometric,
tsgentity.member_Dob,
mshiptypes.mshipType_Name,
mshipstatus.mshipStatusType_Name,
memtomships.memberToMship_EndDate
};
dgvReportMembers.DataSource = totalmembers;
}
}
public void getcardnumbers()
{
if (txtcardnum.Text != "")
{
var totalmembers = from tsgentity in eclipse.members
join memtomships in eclipse.membertomships on tsgentity.member_Id equals memtomships.member_Id
join mshipoptiions in eclipse.mshipoptions on memtomships.mshipOption_Id equals mshipoptiions.mshipOption_Id
join mshiptypes in eclipse.mshiptypes on mshipoptiions.mshipType_Id equals mshiptypes.mshipType_Id
join mshipstatus in eclipse.mshipstatustypes on memtomships.mshipStatusType_Id equals mshipstatus.mshipStatusType_Id
where tsgentity.member_CardNum.StartsWith(txtcardnum.Text)
select new
{
tsgentity.member_Id,
tsgentity.member_Lastname,
tsgentity.member_Firstname,
tsgentity.member_Postcode,
tsgentity.member_Reference,
tsgentity.member_CardNum,
tsgentity.member_IsBiometric,
tsgentity.member_Dob,
mshiptypes.mshipType_Name,
mshipstatus.mshipStatusType_Name,
memtomships.memberToMship_EndDate
};
dgvReportMembers.DataSource = totalmembers;
}
}
我期待這樣的事情:
private void allmembers()
{
var members = from ......
.......
.......
if (cbGEStatustype.Text != "")
{
dgvreports.datasource = members.where(.......)
}
if (txtcardnum.Text != "")
{
dgvreports.datasource = members.where(.......)
}
}
爲什麼不是你在底部粘貼的工作?產生了什麼錯誤,或者什麼限制了你這樣做? – qJake
通過將所有內容填充到一個單一方法中,代碼並沒有變得更加清晰和簡潔。效率也不高。 –
@SpikeX我已經嘗試了僅限於成員表格檢查的底層部分,並且我在連接條件中包含了另外三個表格......我無法檢查其他表格,假設像這樣的「cbGEStatustype.Text」,它來自mshipstatustype表格.....我無法使用表中的mshipstatustype name字段來檢查這一個...... –