2015-02-05 1 views
0

글쓰기 방법입니까? 제안 해주세요.오브젝트를 돌려주는 메소드를 쓰는 방법은?

public Init_Circle Init_Circle(Point pt,double rad) 
{ 
    Point center=pt; 

    if (rbCircle.Checked==true) 
    { 
     pt.x = double.Parse(txtCirCntPtX.Text.Trim()); 
     pt.y = double.Parse(txtCirCntPtY.Text.Trim()); 
     rad = double.Parse(txtCirRadius.Text.Trim()); 

    } 
    return this.Init_Circle(pt,rad); 
} 
+1

같은 방법을 만들 수 있습니다. – Euphoric

+0

생성자에서 반환 유형을 지정하려는 경우 코드 이벤트가 컴파일되지 않습니다. –

+2

더 큰 그림이 없으면 무한 재귀 루프처럼 보일뿐입니다. 그러면 결국 스택 오버플로가 생깁니다. 너 뭐하려고? 어쩌면 당신은 어떤 시점에서 생성자를 작성 (또는 호출)하려 했겠습니까? –

답변

0

개체를 반환하는 메서드를 만들어야합니다. 생성자에서 아무것도 반환 할 수 없습니다. 당신은 생성자에서 아무것도 반환하지 수

public Init_Circle ReturnCircle(Point pt,double rad) 
{ 
    Point center=pt; 
    if (rbCircle.Checked==true) 
    { 
     pt.x = double.Parse(txtCirCntPtX.Text.Trim()); 
     pt.y = double.Parse(txtCirCntPtY.Text.Trim()); 
     rad = double.Parse(txtCirRadius.Text.Trim()); 
    } 
    return this.Init_Circle(pt,rad); 
} 
+0

이것이 올바른 코드라고 생각하지 않습니다. ** Init_Circle **이 클래스 이름이라고 가정하면이 방법으로 반환 할 수 없습니다. –

+1

@RohitPrakash C#은 클래스 이름과 같은 메소드를 만들 수 있습니다. – Grundy

+0

@ 그랜디, 오른쪽. 그러나 그가 코드를 작성한 것처럼 그는 메소드를 작성하려고하는 것처럼 보이지 않습니다. –

1

,하지만 당신이 할 수있는 것은 당신을위한 객체를 생성하는 정적 메소드를 만들 수 있습니다 :

방법은 다음과 같이한다.

그래서 생성자에서 이렇게합니다.

private Init_Circle() 
{ 

} 

와 당신이 생성자에서 아무것도 반환 안되는이

public static Init_Circle CreateInstance(// parameters here) 
{ 
    // do object creation here 
} 
관련 문제