2016-07-13 4 views
-1

IList라는 속성이있는 모델이 있습니다.리플렉션을 사용하여 IList 속성을 업데이트하는 방법

public class SomeClass 
{ 
public IList<CustomClass> CustomProperty1 
} 

리플렉션을 사용하여 위의 속성에 값을 추가해야합니다. 어떤 제안?

+0

왜 리플렉션을 사용해야합니까? 일반 코드로 처리하는 것이 더 쉽지 않을까요? – recursive

+0

업데이트 할 속성이있는 클래스 인스턴스가있는 KeyValuePair가있는 것은 현재 코드 구현입니다. – TusharJ

+0

조엘의 말이 맞습니다 - 당신은 이것을 할 수 없습니다. 그 질문은 커뮤니티의 가치는 거의 없습니다. 아마 당신은 우리에게 당신의 진짜 코드를 보여줄 수 있었고 우리는 다른 옵션을 가지고 당신을 도울 수있었습니다. – Enigmativity

답변

1

IEnuerable을 통해 연결할 수 없습니다. IList 또는 다른 인터페이스가 있어야합니다.

0

linq 메서드 .Concat()을 사용하면됩니다.

SomeClass c = /* ... */ 
CustomClass[] extraItems = new CustomClass[] { /* ... */ }; 
c.CustomProperty1 = c.CustomProperty1.Concat(extraItems); 

이것은 열거에 더 많은 항목을 추가 할 수 있지만 오히려 더 많은 항목이있는 새로운 열거를 할당하지 않습니다.

리플렉션을 사용하지 않지만 실제로는 그렇지 않다고 가정합니다. 에 리플렉션을 사용하려면이 있어야합니다.

+0

이것은 기술적으로는 올바르지 만, OP는 자신의 질문에 너무 많은 어리 석음을 달았습니다. 그래서 그가 묻는 것은 실제로 그가하려고하는 것이 아니라고 생각합니다. – Enigmativity

관련 문제