다른 생성자로 인해 C # 생성자가 중단됨

dima618

라이브러리에 여러 생성자가있는 C # 포인트 클래스가 있습니다 (이 클래스는 .NET의 System.Drawing.Point와 다른 클래스).

Public class Point {

   public float X;
   public float Y;
   public float Z;

   //Constructor 1
   public Point(float x, float y, float z) {
      this.X = x;
      this.Y = y;
      this.Z = z;
   }
   //Constructor 2
   public Point(Point point) {
      this.X = point.X;
      this.Y = point.Y;
      this.Z = point.Z;
   }
   //Constructor 3
   public Point(PointF point) {
      this.X = point.X;
      this.Y = point.Y;
      this.Z = 0;
   }
   //Constructor 4
   public Point(System.Drawing.Point point) {
      this.X = point.X;
      this.Y = point.Y;
      this.Z = 0;
   }
}

매개 변수로 Point받는 생성자를 사용하여 개체 를 만들려고하면 float모든 것이 잘 작동합니다. Point기존 Point개체 (생성자 2) 를 사용하여 새로 만들려고 할 때 System.Drawing어셈블리 를 참조해야한다는 오류가 표시됩니다 . 나는 이것이 a System.Drawing.Point와 a PointF를 인수로 사용 하기 때문에 생성자 3과 4 때문이라고 생각 하지만, 내가 사용하려는 생성자가 그들과 완전히 관련이 없기 때문에 왜 문제를 제기 해야하는지 모르겠습니다. 1이 호출되면 잘 작동합니다. 이 문제를 어떻게 해결합니까? 감사!

매튜 왓슨

수락 할 수있는 경우 이에 대한 해결 방법이 있습니다.

Point수업에 다음을 추가하십시오 .

public static Point Clone(Point p)
{
    return new Point(p);
}

그런 다음 현재 컴파일에 실패한 코드에서 대신 다음을 수행하십시오.

Point p = new Point(0, 0, 0);
Point q = Point.Clone(p);

(물론, 당신은 방법을 호출 할 필요가 없습니다 Clone()- 그것은 전화 Copy또는 CopyCtor나처럼 당신이 무엇을.)

에 관해서는 컴파일러는 당신이 당신도 사용하지 않는 것을 어셈블리 정의 유형에 대한 참조를 포함해야한다는 주장 이 답변을 참조 .

또한 이 질문을 참조하십시오 .

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++의 다른 인수에 대한 다중 생성자

분류에서Dev

문자열 인쇄로 인해 C 프로그램이 중단됨

분류에서Dev

CoolUtils TotalPDFPrinterX로 인해 ASP C # 사이트가 중단됨

분류에서Dev

생성자 차단으로 인해 ClassNotFoundException 발생

분류에서Dev

루트가 아닌 다른 사용자로 실행중인 CentOS에서 서비스를 생성하려면 어떻게해야합니까?

분류에서Dev

C ++ : 연산자 =를 사용하여 다중 인수 생성자 호출

분류에서Dev

이중 목록 복사 생성자 : 단일 목록 복사 생성자와 얼마나 다른가요?

분류에서Dev

C ++ 다른 생성자 호출

분류에서Dev

루프로 인해 Firefox가 중단됨

분류에서Dev

Windows 10-Alt 코드로 인해 잘못된 문자가 생성됨

분류에서Dev

다중 스레드 코어 데이터로 인해 UI가 중단됨

분류에서Dev

새 개체를 전달하기 위해 생성자를 호출하는 C ++로 인해 데이터가 누락 됨

분류에서Dev

C ++의 생성자 이해

분류에서Dev

생성중인 클래스를 참조하는 생성자 매개 변수가있는 C # 새 클래스

분류에서Dev

C ++로 로그인 : 다른 개체와 그 자식에 대해 별도의 로그 파일을 생성하는 방법은 무엇입니까?

분류에서Dev

C ++에서 다른 구조체로 생성자 복사

분류에서Dev

Linux C 타이머-신호로 인해 현재 프로세스가 중단됨

분류에서Dev

프롤로그의 다중 생성자

분류에서Dev

배열 인수가 다른 생성자 java

분류에서Dev

C # Windows 10에서 PDF 파일 열기로 인해 Adobe가 중단됨

분류에서Dev

Chromebook 복구 미디어 생성 오류 '다운로드 중단됨'을 해결하는 방법

분류에서Dev

c-language가 부호있는 정수를 무작위로 생성하고 배열을 채우고 중복을 확인하고 32768에서 중단됨

분류에서Dev

Python 속성 액세스로 인해 속성 개체 자체가 생성됩니다.

분류에서Dev

posix_memalign ()에 의해 생성 된 유효한 포인터를 전달하면 free ()가 중단됨-gcc 및 C ++ 11

분류에서Dev

Python 다중 처리 대기열로 인해 대용량 데이터로 인해 코드가 중단됨

분류에서Dev

생성자 C ++의 다른 클래스에 대한 포인터 초기화

분류에서Dev

C ++ 17의 다른 생성자와 다른 인수 유형을 사용하여 생성자를 호출합니다.

분류에서Dev

단항 형식 생성자로 묶인 비단 항 형식 생성자

분류에서Dev

Eclipse UML 플러그인 Papyrus로 C ++ 생성자 및 소멸자 생성

Related 관련 기사

  1. 1

    C ++의 다른 인수에 대한 다중 생성자

  2. 2

    문자열 인쇄로 인해 C 프로그램이 중단됨

  3. 3

    CoolUtils TotalPDFPrinterX로 인해 ASP C # 사이트가 중단됨

  4. 4

    생성자 차단으로 인해 ClassNotFoundException 발생

  5. 5

    루트가 아닌 다른 사용자로 실행중인 CentOS에서 서비스를 생성하려면 어떻게해야합니까?

  6. 6

    C ++ : 연산자 =를 사용하여 다중 인수 생성자 호출

  7. 7

    이중 목록 복사 생성자 : 단일 목록 복사 생성자와 얼마나 다른가요?

  8. 8

    C ++ 다른 생성자 호출

  9. 9

    루프로 인해 Firefox가 중단됨

  10. 10

    Windows 10-Alt 코드로 인해 잘못된 문자가 생성됨

  11. 11

    다중 스레드 코어 데이터로 인해 UI가 중단됨

  12. 12

    새 개체를 전달하기 위해 생성자를 호출하는 C ++로 인해 데이터가 누락 됨

  13. 13

    C ++의 생성자 이해

  14. 14

    생성중인 클래스를 참조하는 생성자 매개 변수가있는 C # 새 클래스

  15. 15

    C ++로 로그인 : 다른 개체와 그 자식에 대해 별도의 로그 파일을 생성하는 방법은 무엇입니까?

  16. 16

    C ++에서 다른 구조체로 생성자 복사

  17. 17

    Linux C 타이머-신호로 인해 현재 프로세스가 중단됨

  18. 18

    프롤로그의 다중 생성자

  19. 19

    배열 인수가 다른 생성자 java

  20. 20

    C # Windows 10에서 PDF 파일 열기로 인해 Adobe가 중단됨

  21. 21

    Chromebook 복구 미디어 생성 오류 '다운로드 중단됨'을 해결하는 방법

  22. 22

    c-language가 부호있는 정수를 무작위로 생성하고 배열을 채우고 중복을 확인하고 32768에서 중단됨

  23. 23

    Python 속성 액세스로 인해 속성 개체 자체가 생성됩니다.

  24. 24

    posix_memalign ()에 의해 생성 된 유효한 포인터를 전달하면 free ()가 중단됨-gcc 및 C ++ 11

  25. 25

    Python 다중 처리 대기열로 인해 대용량 데이터로 인해 코드가 중단됨

  26. 26

    생성자 C ++의 다른 클래스에 대한 포인터 초기화

  27. 27

    C ++ 17의 다른 생성자와 다른 인수 유형을 사용하여 생성자를 호출합니다.

  28. 28

    단항 형식 생성자로 묶인 비단 항 형식 생성자

  29. 29

    Eclipse UML 플러그인 Papyrus로 C ++ 생성자 및 소멸자 생성

뜨겁다태그

보관