2014-06-12 2 views
2

모든 곳에서 나는 이것이 작동해야하고 아직은 그렇지 않다는 것을 조사했습니다 ... 기본적으로 내 변수 형식을 하나의 클래스로 가져와 내 기본 폼에서 작동하려고합니다. 내 두 번째 클래스에서 Form1.Employee문자열 변수 = textbox.text

내 양식 코드

Employee FirstName = new Employee(); 
if (Directions.Text == "Please Enter Employee First Name") 
{ 
    FirstName = Info.Text; 
    Directions.Text = "Please Enter Employee Last Name"; 
} 

에 암시 적 유형 string을 변환 할 수 없습니다

의 오류 코드가 계속 내가 가진

public class Employee 
{ 
    public string FirstName; 
} 
+1

입니다 더 많은 변수에 대해 더 많은 코드가 있습니다. 나는 정확히 똑같은 오류를 얻고 같은 방식으로 작성 했으므로 가능한 한 많이 단순화하고 싶었습니다. – user3598883

+1

정확히 여기에 정확한 양의 코드를 포함 시켰습니다. 필요한 코드의 최소량은 당신의 질문을 명확하게합니다. – Sayse

답변

4

첫 번째 코드에서 FirstNameEmployee 클래스의 인스턴스입니다. 당신의

FirstName = Info.Text; 

라인, 당신은 할 수 없습니다 클래스 인스턴스에 속성 (string 인) .Text를 할당하려고합니다. 그것이 컴파일러가 말하는 이유입니다.

암시 적으로 당신은 그것이 당신의 Info.Text 값으로 인스턴스의 FirstName 필드의 할당 할 수 있습니다 직원

에 유형 '문자열을'변환 할 수 없습니다. 처럼;

FirstName.FirstName = Info.Text; 

Employee 인스턴스에 더 나은 이름을 넣으면 물론 좋습니다.

+0

그 텍스트가 동등 할 것이라는 글쎄요, 그래서 나중에 나중에 사용하기 위해 추가 된 모든 정보를 보여줄 수 있도록 그 이름이되고 있습니다. – user3598883

7
Employee employee = new Employee(); 
if (Directions.Text == "Please Enter Employee First Name") 
{ 
    employee.FirstName = Info.Text; 
    Directions.Text = "Please Enter Employee Last Name"; 
} 
2

FirstName이 Employee의 인스턴스이므로 문제는 다음 행에 있습니다.

FirstName = Info.Text; 

이 있어야한다

FirstName.FirstName = Info.Text; 

FIRSTNAME 점 이전 (.) 직원 클래스의 인스턴스와 점 후
FIRSTNAME입니다 (.) 예 기술적 동안 Employee 클래스의 필드

관련 문제