.NET 에서 서브 대상 을 전달 하 는 대상 에 대한 상세 한 설명
2929 단어 .net구성 서브 에서 전달하위 대상
namespace Test001
{
public class ParentClass
{
// Constructors
public ParentClass(IEnumerable<string> dataCollection)
{
this.DataCollection = dataCollection;
}
// Properties
public IEnumerable<string> DataCollection { get; private set; }
}
public class ChildClass : ParentClass
{
// Constructors
public ChildClass() : base(new List<string>()) { }
}
}
그러나 하위 대상 이 부모 대상 에 게 전달 하 는 인 자 를 사용 하려 면 작은 기술 이 필요 합 니 다.처음에는 하위 대상 의 속성 대상 을 만 들 고 부모 대상 에 게 전달 하 겠 다 는 생각 이 었 다.이 방법 은 곧 실패 할 것 이다.컴 파일 만 으로 는.....................................................대상 의 설립 은 먼저 구조 자 를 만 든 다음 에 대상 을 낳 는 것 이다.서브 를 구축 하 는 단계 에서 대상 의 속성 을 사용 하려 면 반드시 실패 할 것 이다
namespace Test002
{
public class ParentClass
{
// Constructors
public ParentClass(IEnumerable<string> dataCollection)
{
this.DataCollection = dataCollection;
}
// Properties
public IEnumerable<string> DataCollection { get; private set; }
}
public class ChildClass : ParentClass
{
// Fields
private readonly List<string> _dataCollection = new List<string>();
// Constructors
private ChildClass() : base(_dataCollection) { }
}
}
생각해 보 니 각 도 를 바 꾸 어 이 문 제 를 해결 했다.차라리 키 대상 의 구성 자 를 따로 열 고 먼저 아버지 대상 에 게 물 려 줄 대상 을 만 든 다음 에 아버지 대상 에 게 직접 물 려 주지 않 고 아들 대상 에 게 자신의 구성 자 를 물 려 준 다음 에 이 구성 자 는 아버지 대상 에 게 전달 된다.내 눈 이 침침 해 졌 다 고 쓰 여 있 는데,마치 잰말놀이 같다.프로그램 코드 를 직접 보 세 요.사실은 아주 간단 합 니 다.이 작은 디자인 을 완성 할 수 있 습 니 다
namespace Test003
{
public class ParentClass
{
// Constructors
public ParentClass(IEnumerable<string> dataCollection)
{
this.DataCollection = dataCollection;
}
// Properties
public IEnumerable<string> DataCollection { get; private set; }
}
public class ChildClass : ParentClass
{
// Fields
private readonly List<string> _dataCollection = null;
// Constructors
public ChildClass() : this(new List<string>()) { }
private ChildClass(List<string> dataCollection)
: base(dataCollection)
{
_dataCollection = dataCollection;
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
AS를 통한 Module 개발1. ModuleLoader 사용 2. IModuleInfo 사용 ASModuleOne 모듈...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.