return
이 아닌 함수를 호출하여 코드 실행을 중지 할 수있는 곳이라면 C# Winforms에서 알아 내려고합니다.라이브러리 내에서 C# 코드 실행 중지
public class Response
{
public function error($index)
{
$response = array();
switch ($index)
{
case 0: $response = array('msg' => 'fields missing..'); break;
}
// The trick is here
exit(json_encode($response));
}
}
그래서, C# 프로젝트와 내 양식에서 나는 response
도서관이 전화 :
다음 코드는 PHP
if($something == null)
$this->response->error(0);
// This code is never executed if the condition is true
echo 'Hello';
그리고 도서관 response
가능하다, 같은 뭔가가 방법 :
private void button1_Click(object sender, EventArgs e)
{
libraries.Response Response = new libraries.Response();
if(textBox1.Text == "")
Response.error(0);
// The code continues to get executed even if the condition is true
button2.PerformClick();
}
응답 트라이 ggers MessageBox
에는 코드 실행을 멈추게하는 요소가 전혀 없습니다.
class Response
{
public void error(int index)
{
string msg = "";
switch (index)
{
case 0: msg = "Fields missing.."; break;
}
MessageBox.Show(msg, "My app", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
지금, 나는 아래의 코드는 코드 실행을 중지 같이 나는 return
를 사용할 수 있다는 것을 알고,하지만 난 트릭을 할 것 도서관 response
에 넣을 수 있습니다 거기에 뭔가 다른 궁금 해서요?
if(textBox1.Text == "")
{
Response.error(0);
}
else
{
button2.PerformClick();
}
하지만 goto
문을 사용하여 오류를 던지고되지 않고 많이 사용하지 않으려면 return
이 옵션을 IS-경우를 elses 다음 :
if(textBox1.Text == "")
{
Response.error(0);
return;
}
이인가 라이브러리 코드는 백그라운드 작업자 또는 작업에서 비동기 적으로 실행됩니까? 그것의 배경 노동자에서 당신이 이벤트에 근로자를 구독하고 그것을 죽일 수있는 후크. 동일한 스레드에서 실행중인 경우 코드 스레드는 라이브러리가 반환 될 때까지 잠 깁니다. –
.NET에서 예외 상태의 코드 실행을 중지하려면 예외를 throw 할 수 있습니다. 이렇게하면 throw 문 다음에 오는 코드 행은 실행되지 않고 첫 번째 try/catch 블록과 catch 블록 코드가 실행될 때까지 예외가 버블 링됩니다. –