객체 클래스의 속성 인 생성자에 매개 변수 전달

스티브 E

저는 C #과 프로그래밍 영역을 처음 접했습니다. 저는 책과 유튜브 비디오에서 몇 가지 연습을 수행하여 이러한 많은 개념에 대해 머리를 감았습니다.

현재 나는이 문제에 붙어 있습니다. 위탁 상점에 대한 작은 응용 프로그램이 있고 하드 코딩 된 샘플 데이터를 제거하고 프로그램이 텍스트 파일에서 데이터를 읽도록하는 작업을하고있었습니다.

내 공급 업체 클래스는 다음과 같습니다.

public class Vendor
{
    public string FirstName { get; set; }

    public string LastName { get; set; }

    public Vendor(string firstName, string lastName)
    {

        FirstName = firstName;
        LastName = lastName;
    }
}

이것은 본질적으로 Vendors의 .csv 파일을 가져 와서 문자열 배열로 푸시하고, 객체를 생성하고 속성을 배열 값으로 채운 다음 항목을 Vendor 유형 목록에 추가합니다. 이 메서드는 오류를 발생시키지 않습니다.

private void ReadFromFile()
{
    string line = "";                
    while ((line = myReader1.ReadLine()) != null)
    {
        string[] data = line.Split(',');                    
        Vendor v = new Vendor(data[0], data[1]);
        store.Vendors.Add(v);
    }
}

목록에 항목을 추가하기 위해 동일한 솔루션을 시도 할 때 항목 클래스에있는 Vendor 유형의 속성 인 항목의 "소유자"를 전달하고 싶습니다. 객체를 생성자에서 매개 변수로 전달하는 작업 솔루션을 얻을 수 없었기 때문에 형식적인 데이터 유형을 전달하기로 결정했습니다. 기본적으로 공급 업체의 이름 및 성 속성을 사용하고이를 항목 소유자의 이름과 성으로 설정하고 싶습니다.

public class Item
{
    public string Title { get; set; }        

    public decimal Price { get; set; }             

    public Vendor Owner { get; set; }

    public Item(string title, decimal price, string fName, string lName)
    {
        Title = title;            
        Price = price;
        Item.Owner.FirstName = fName; // this is what I want to do
        Item.Owner.LastName = lName; // throws objref error
    } 
}

//Input file format: title,price,fname,lname
while ((line = myReader2.ReadLine()) != null)
{
    string[] data2 = line.Split(',');
    decimal price = decimal.Parse(data2[1]);                              
    Item i = new Item(data2[0],price,data2[2],data2[3]);                
    store.Items.Add(i);
}

문자열은 배열로 만들지 만 디버거를 실행하고 내 store.Items 목록을 확인하면 소유자 (null)를 제외한 모든 속성 값이 설정됩니다. 한 가지 해결책이 fName + lName을 하나의 문자열로 결합하는 것이 될 수 있다는 것을 알고 있지만 항목 생성자가 허용 할 매개 변수 측면에서 어떻게 설정해야하는지 이해하는 데 어려움을 겪고 있습니다. 내가 무엇을 시도하든 Oner 속성은 값을받지 못하므로 나머지 응용 프로그램이 중단됩니다.

몇 시간 동안이 작업을 해왔지만 작업 솔루션이나이 시나리오에 대한 해결 방법을 찾을 수없는 것 같습니다.

어떤 도움이라도 대단히 감사합니다.

감사!

엄지 손가락

코드가 컴파일되지 않는다고 생각하지만 원하는 것은 다음과 같습니다.

 Owner = new Vendor(fName, lName);

이것은 본질적으로 Vendor인스턴스를 생성 하고 Owner변수에 할당합니다 . Owner그렇지 않으면 초기화되지 않고 null이므로 예외가 발생합니다.

이 대신 :

 Item.Owner.FirstName = fName; // this is what I want to do
 Item.Owner.LastName = lName; // throws objref error

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

인수로 세 개의 인수가있는 클래스 변수를 매개 변수로 생성자에 전달

분류에서Dev

생성자의 매개 변수로 객체 전달

분류에서Dev

C ++ : 생성자에서 포인터 클래스 매개 변수 전달

분류에서Dev

0 매개 변수를 사용하는 생성자가 있어야하는 클래스에 ninject 바인딩 된 객체 전달

분류에서Dev

클래스 생성자 C #에서 가변 개수의 매개 변수 전달

분류에서Dev

Java-해당 클래스의 배열이 생성 될 때 클래스 생성자에 매개 변수 전달

분류에서Dev

클래스의 __init__에 매개 변수가 필요할 때 인수없이 객체 (직사각형) 생성

분류에서Dev

전달 된 클래스 매개 변수에서 객체 반환

분류에서Dev

참조로 전달 된 매개 변수에 객체 생성

분류에서Dev

클래스 생성자의 함수 매개 변수로 배열 전달

분류에서Dev

Javascript 생성자에서 매개 변수로 키 / 값 객체 전달

분류에서Dev

생성자에 매개 변수로 객체를 전달합니까?

분류에서Dev

AutoMoq에서 제네릭 클래스의 속성을 매개 변수로 전달

분류에서Dev

포인터 개체에 의해 매개 변수가있는 생성자에 인수를 전달할 때 C ++ 프로그램 오류가 발생합니까?

분류에서Dev

내 템플릿 생성자가 객체를 함수에 전달할 때 클래스를 매개 변수로 사용하지 않도록하는 방법

분류에서Dev

값이 아닌 객체 속성 키를 자바 스크립트의 매개 변수로 전달합니다.

분류에서Dev

생성자에게 템플릿 매개 변수로 전달 된 클래스에서 상속 및 상속

분류에서Dev

개체의 동적 배열을 다른 클래스의 매개 변수가있는 생성자에 어떻게 전달합니까?

분류에서Dev

클래스 생성자에 전달 된 매개 변수 유형 감지

분류에서Dev

약속 : 체인 시퀀스의 항목에 새 매개 변수 전달

분류에서Dev

매개 변수에 전달 된 객체의 속성을 반환하는 방법은 무엇입니까?

분류에서Dev

다른 클래스 생성자의 매개 변수에있는 객체를 여러 번 수정

분류에서Dev

Interface / Impl 클래스를 수정하지 않고 Guice의 생성자에 매개 변수 전달

분류에서Dev

종속성 주입 : 매개 변수없는 생성자에서 구체적인 클래스를 인스턴스화 할 때 잃는 것은 무엇입니까?

분류에서Dev

전달 된 매개 변수에 따라 클래스 속성 값 변경

분류에서Dev

컨텍스트 저장과 함께 생성자 매개 변수로 객체 전달

분류에서Dev

생성자에서 객체의 특정 인스턴스 전달

분류에서Dev

ServiceClientCredentials를 매개 변수로 C #의 생성자에 전달

분류에서Dev

AS3가 생성자의 매개 변수에 클래스를 전달하지만 Null (?)

Related 관련 기사

  1. 1

    인수로 세 개의 인수가있는 클래스 변수를 매개 변수로 생성자에 전달

  2. 2

    생성자의 매개 변수로 객체 전달

  3. 3

    C ++ : 생성자에서 포인터 클래스 매개 변수 전달

  4. 4

    0 매개 변수를 사용하는 생성자가 있어야하는 클래스에 ninject 바인딩 된 객체 전달

  5. 5

    클래스 생성자 C #에서 가변 개수의 매개 변수 전달

  6. 6

    Java-해당 클래스의 배열이 생성 될 때 클래스 생성자에 매개 변수 전달

  7. 7

    클래스의 __init__에 매개 변수가 필요할 때 인수없이 객체 (직사각형) 생성

  8. 8

    전달 된 클래스 매개 변수에서 객체 반환

  9. 9

    참조로 전달 된 매개 변수에 객체 생성

  10. 10

    클래스 생성자의 함수 매개 변수로 배열 전달

  11. 11

    Javascript 생성자에서 매개 변수로 키 / 값 객체 전달

  12. 12

    생성자에 매개 변수로 객체를 전달합니까?

  13. 13

    AutoMoq에서 제네릭 클래스의 속성을 매개 변수로 전달

  14. 14

    포인터 개체에 의해 매개 변수가있는 생성자에 인수를 전달할 때 C ++ 프로그램 오류가 발생합니까?

  15. 15

    내 템플릿 생성자가 객체를 함수에 전달할 때 클래스를 매개 변수로 사용하지 않도록하는 방법

  16. 16

    값이 아닌 객체 속성 키를 자바 스크립트의 매개 변수로 전달합니다.

  17. 17

    생성자에게 템플릿 매개 변수로 전달 된 클래스에서 상속 및 상속

  18. 18

    개체의 동적 배열을 다른 클래스의 매개 변수가있는 생성자에 어떻게 전달합니까?

  19. 19

    클래스 생성자에 전달 된 매개 변수 유형 감지

  20. 20

    약속 : 체인 시퀀스의 항목에 새 매개 변수 전달

  21. 21

    매개 변수에 전달 된 객체의 속성을 반환하는 방법은 무엇입니까?

  22. 22

    다른 클래스 생성자의 매개 변수에있는 객체를 여러 번 수정

  23. 23

    Interface / Impl 클래스를 수정하지 않고 Guice의 생성자에 매개 변수 전달

  24. 24

    종속성 주입 : 매개 변수없는 생성자에서 구체적인 클래스를 인스턴스화 할 때 잃는 것은 무엇입니까?

  25. 25

    전달 된 매개 변수에 따라 클래스 속성 값 변경

  26. 26

    컨텍스트 저장과 함께 생성자 매개 변수로 객체 전달

  27. 27

    생성자에서 객체의 특정 인스턴스 전달

  28. 28

    ServiceClientCredentials를 매개 변수로 C #의 생성자에 전달

  29. 29

    AS3가 생성자의 매개 변수에 클래스를 전달하지만 Null (?)

뜨겁다태그

보관