2010-12-23 3 views
4
나는 다음과 같이 MySQL 데이터베이스를 쿼리하는 엔티티 프레임 워크를 사용하여 Linq를 사용하고

에 익명 형식 개체를 보낼 수 있습니다. 어떻게이 일을 도와 줄 수 있니?어떻게하는 방법

답변

1

C# 동적 키워드를 사용할 수도 있습니다. 물론 반사가 느리고 안전하지 않은 타입입니다. 예 :

void SomeMethod(dynamic d) 
{ 
    Console.WriteLine(d.Client); 
    Console.WriteLine(d.GlobalList.Count); 
} 
3

다른 방법은 일반적인 경우에 당신이 그렇게 할 수 방법입니다 입력, 당신은 일반적인 형식 유추가 작업을 할 수 있습니다 :

void SomeOtherMethod<T>(List<T> list) {...} 
... 
SomeOtherMethod(totalSearch); 

당신은 또한 모든 종류의 정보없이 를 전달할 수 물론 IList, IEnumerable, object 또는 dynamic을 통해.

+0

물론이 방법은 리플렉션을 사용하지 않고 유형의 속성을 참조 할 수 없습니다. – Amnon

+0

@Amnon 매우 사실입니다. 그러나 그 방법이하고 싶은 일에 달려 있습니다. 그리고 일반적인 트릭은 멤버에게 액세스하기 위해 셀렉터에서 전달하는 것입니다 ... –

+0

이 경우 셀렉터를 작성하는 방법에 대해 안내해주십시오. –

2

아마도 그렇게해서는 안됩니다. 형식 정보가 없으면 메서드는 (쉽게) 개체의 속성에 액세스 할 수 없습니다.

구체적인 사용자 정의 유형을 대신 사용하십시오. 개체의 수명이 매우 짧고 새 형식을 만들지 않으려면 Tuple (.NET 4 이상 필요)을 사용할 수 있습니다.

+0

이 경우에 Tuple을 작성하는 방법을 안내해 주시겠습니까? –

관련 문제