2013-07-04 1 views
0
class User 
{ 
    public string set_name; 

    public string name 
    { 
     get 
     { 
      return this.set_name; 
     } 
     set 
     { 
      this.set_name = value; 
     } 
    } 
} 

Form1에Form1의 클래스 속성에 값을 설정했지만 Form2에 액세스하려고하면 값이 반환되지 않습니다. 이유는 무엇입니까?

User id = new User(); 
id.name = textbox1.Text; 

형식 2는

User _name = new User(); 
label1.Text = _name.name; 
+4

'new' 같이 설정할 수 있습니다 일상 생활 – Sayse

+0

당신의 별도의 새 인스턴스를 만드는 등의 프로그램에서 같은 의미 'User'는 이전에 사용했던'User' 인스턴스와 아무런 관련이 없습니다 (동일한 클래스 이름 제외). –

+0

아, 그러면 form1에 입력 한 값에 액세스 할 수 없습니까? –

답변

4

나는 종이를 가지고 있고, 나는 거기에 내 이름을 작성합니다. 그런 다음 완전히 다른 종이를 얻으면 내 이름이 자동으로 표시되지 않습니다. 여기에는 두 개의 User 개체가 있지만 완전히 관련이 없습니다. 처음부터 name을 원하면 User 개체을 두 번째 형식으로 전달해야합니다.

+0

뛰어난 은유. +1 – Paul

+0

+1 나는이 대답을 좋아한다. :) – V4Vendetta

+0

나는 값을 저장하고 그것을 통과하지 않고 다른 형태로 접근 할 수있는 또 다른 방법이 있단 말인가? –

1

당신은 정적

static class User 
{   
    public string set_name; 

    public static string name 
    { 
     get 
     { 
     return this.set_name; 
     } 
     set 
     { 
     this.set_name = value; 
     } 
} 

으로 클래스를 생성하고 얻을이

User.name = textbox1.Text; // Form1 

label1.Text = User.name; // Form2 
+0

나쁜 생각 imo는 사용자 객체를 건네 야한다. – Sayse

+0

이 유형의 정적 상태가 적절한 경우는 * vanishingly * 작고, 솔직히이 작은 세트에는이 사용법이 포함되어 있다고 생각하지 않는다. –

+0

@MarcGravell 예 전적으로 당신과 동의합니다 :) –

관련 문제