我目前正在学习一个 C# 类,在该类中,我们希望将错误处理从我们的主代码中取出,并为另一个类中的所有整数构建所有错误处理和数据解析,但是问题是你只能返回一个变量.
我怎样才能将“真/假”(布尔)和解析数据从一个类返回到另一个类。
Class1.cs(主代码)
int num1;
Class2 class2Object = new Class2();
public Class1()
{
//constructor
}
public void Num1Method()
{
string tempVal = "";
bool errorFlag; //bool = true/false
do
{
errorFlag = false; //no error & initialize
Console.Write("Enter Num1: ");
tempVal = Console.ReadLine();
class2Object.IntErrorCheckMethod(tempVal);
}//close do
while (errorFlag == true);
}//close Num1Method
Class2.cs(错误和解析处理)
public bool IntErrorCheckMethod(string xTempVal)
{
int tempNum = 0;
bool errorFlag = false;
try
{
tempNum = int.Parse(xTempVal);
}
catch(FormatException)
{
errorFlag = true;
tempNum = 999;
}
return errorFlag;
}//close int error check
所以 Class2 只会返回真/假(如果有错误与否),我怎样才能将好的解析数据返回给 Class1 以放入“int num1”变量中?
我们的教授只能考虑去掉bool并使用一个虚拟值(比如如果数据有错误,将值设置为999并返回它,然后执行if elseif检查该值是否为999然后返回错误消息,否则将数据提交给变量。
我认为它更好的代码能够对错误使用布尔值,因为 999 可能是用户输入的好数据。
任何想法表示赞赏,谢谢!