추가 속성을 추가하고자하는 외부 라이브러리의 클래스 개체가 있습니다.추가 속성으로 클래스 확장하기
public class ExternalClass
{
public string EXproperty1 {get;set;}
public string EXproperty2 {get;set;}
public string EXproperty3 {get;set;}
public ExternalClass(){}
}
그리고 내가 추가, 나는 새로운 클래스를 생성하여이 클래스를 확장 할 수 있습니다
List<ExternalClass> listOfExternalClass=new List<ExternalClass>();
listOfExternalClass=GetListOfExternalClass();
로 채워됩니다 이러한 개체의 목록을 가지고 :
의 외부 클래스가 있다고 가정 해 봅시다 추가 속성을 만들고 외부 클래스를 속성으로 만듭니다. 나는 새로운 클래스의 새 목록을 만들고 원래 목록 새로운 객체를 생성하고에 추가 반복해야 새로운 클래스 목록에 외부 클래스의 원래 목록으로 변환하는 그러나
public class NewClass
{
public ExternalClass ExternalClass {get;set;}
public string NewProperty1 {get;set;}
public string NewProperty2 {get;set;}
public NewClass(){}
public NewClass(ExternalClass externalClass){
this.ExternalClass=externalClass;
}
}
목록,
List<NewClass> listOfNewClass=new List<NewClass>();
foreach(var externalClass in listOfExternalClass)
{
listOfNewClass.Add(new NewClass(externalClass));
}
처럼 그때 내가 상속이 작업을 수행하거나 더 효율적인 방법이있을 수
listOfNewClass.FirstOrDefault().ExternalClass.EXproperty1;
같은 외부 속성에 액세스 할 수있을 것입니다?
이상적으로 내가 좋아하는 속성을 호출하여 끝낼 싶습니다 :
listOfNewClass.FirstOrDefault().EXproperty1;
이유 inheretance하지 :
다음은을 바꾸기로 선동 수있는 두 가지 예? 벌써 해봤 니? –
이 질문은 항상 여러 개의 대답이 모두 같은 결과를 낳습니다. – MickyD
[Eric Lippert의 모나드 블로그 시리즈] (https://ericlippert.com/2013/02/21/monads-part-one) . – OldFart