2013-07-25 6 views
0

리플렉션을 사용하여 관찰 가능 컬렉션을 다른 것으로 복사 할 수있는 방법을 만들려고합니다. 관찰 할 수있는 콜렉션은 내가 복사하고있는 DTO의 일부일 것이므로, Observable Collection/List인지 여부를 유일하게 식별 할 필요가있다. 리플렉션을 사용하여 Observable 컬렉션을 다른 사람에게 복사하십시오.

목록에 Rithesh

+0

무엇인가 문제가 있거나 그럴 의도가 있음을 알 수없는 경우 매우 명확하지 않습니다. 문제가있는 코드는이 질문에 답할 수 있습니다. –

+0

Alexi, 답장을 보내 주셔서 감사합니다. 내 의심은 ObservableCollections 또는 List 컬렉션을 식별하는 동안 리플렉션을 사용하여 dto 객체를 다른 객체로 복사하는 방법이었습니다. DTo 객체에는 Datetime과 ObservableCollection 등의 데이터 유형이 포함됩니다. 여기서 incomming 데이터 유형을 식별해야합니다. IsArray를 사용하여 배열을 식별했지만 관찰 가능한 컬렉션은 해당 조건에 포함되지 않습니다. –

+0

IEnumerable은 어떻습니까? – Tintenfiisch

답변

0

복사 컬렉션 Enumerable.ToList 확장 메서드를 수행 할 수 있습니다 .. 감사합니다.

반사를 통해 유형을 감지하려는 경우 - Type.IsGenericTypeType.GetGenericTypeDefinition은 주어진 객체의 유형이 ObservableCollection<T>인지 여부를 감지 할 수 있습니다. Type.GetGenericArguments은 정확한 유형을 제공합니다. 이 시점에서 당신은 그 타입의 요소에 대한 자신 만의 컬렉션을 만들고 원래의 컬렉션에서 새로운 컬렉션으로 요소를 복사 할 수 있어야합니다.