我正在創建一個項目,該項目將包含三種形式,一種父表單,它將成爲要加載的表單的決定器。由於兩個孩子的形式稍微相似,許多驗證是相同的。我有我的驗證方法,然後在Validating event
中調用,我怎樣才能最大限度地減少Validating events
中的重複數量,並且只有一個方法帶有一個驗證事件,該事件控制了我共享該方法的所有控件。如何避免驗證事件的重複Winforms
這是我的方法的一個例子,多數民衆贊成在整個廣泛應用於:
public bool numValidation(string strNum)
{
if (!string.IsNullOrWhiteSpace(strNum))
{
int temp;
if (int.TryParse(strNum, out temp))
{
MessageBox.Show("Phone Number is a valid input: " + temp);
return true;
}
else
{
MessageBox.Show(temp + "Is not Valid input!!");
}
}
return false;
}
而這僅僅是我的許多驗證事件之一:
private void txt_LndLine_Validating(object sender, CancelEventArgs e)
{
numValidation(txt_LndLine.Text);
txt_LndLine.Clear();
}
上我怎麼可能真的很奇怪的想法清理代碼並儘量減少重複。在此先感謝:)
創建庫項目,並存儲在一個靜態實用類此的常用方法。不要把UI元素和邏輯放在這個庫中。只需返回true/false,讓UI部分顯示消息 – Steve
Thanks @Steve因此,只需創建靜態utill類,並將所有在那裏驗證的方法。然後通過創建該類的實例並調用方法來調用它們?或者我應該無處? – whatdoyouNeedFromMe
或多或少。首先,你不要把所有東西都放在那裏,而只需要可以重用的通用代碼,而不需要邏輯上與某些類相關聯。其次,如果您的類或方法是靜態的,則不需要創建實例。 (IE爲名爲Utility的類使用名爲numValidation的靜態方法,您可以調用_Utility.numValidation(.....)_ – Steve