이 질문의 목적 상 가능한 오류 값을 나타내는 간단한 Error 기본 클래스가 있습니다.런타임 중에 기본 클래스의 인스턴스를 파생 클래스로 대체하는 방법
나는이 Error 기본 클래스에서 여러 오류 값을 가질 수 있도록 int List가있는 ErrorMultiple 클래스에서 파생되었습니다.
Error 클래스의 단일 인스턴스를 유지하려는 Event 클래스가 있습니다.
그래서 이벤트의 인스턴스를 만들고 여러 가지 방법으로 전달합니다. 이것들 중 하나는 "아뇨. 우리는 거기에 여러 오류가보고 있음을 발견했다. "
가 어떻게이 오류 기본 클래스 인스턴스의 폐기하고 (A Event.ReplaceErrorObjWithMultipleErrorObj를 통해 ErrorMultiple 클래스의 인스턴스로 대체 내 이벤트 객체를 얻기 위해 코드를 작성할 수 있습니다)
public class Error
{
protected int ErrorNo;
}
public class ErrorMultiple : Error
{
Protected List<int> MultipleErrorNos;
}
public class Event
{
Error * errorObject;
}
Public Event()
{
errorObject = new Error();
}
void Event.ReplaceErrorObjWithMultipleErrorObj()
{
errorObject = new ErrorMultiple();
}
는 물론 이벤트 선언은 사실 C의 # 구문 쓰레기입니다 내가 교체 객체 인스턴스에 대한 참조를 선언하는 방법을 모르는
나는 느낌을 받고 있어요 당신 ' 다시 C++ 사용자가 C#을 사용하려고 시도하고 어떻게 지내야하는지 모릅니다. 포인터없는 anage 객체. – Pharap
Yip. 당신은 그것을 하나에 못 박았습니다. 나는 우리가 모두 한 번 배워서 영원히 사용할 수있는 최고의 프로그래밍 언어가 있었으면 좋겠다. – kingchris
나는 C++과 C# 모두에서 경험이 있기 때문에 자리 잡기가 너무 어려웠다. 간단한 설명을 시도해 보겠습니다.하지만 실제로는 값 유형과 참조 유형의 차이점을 읽어야합니다. – Pharap