0
열거 형 컬렉션에 대한 ISymbol 개체가 있고 기본 형식을 가져와야합니다.ISymbol에서 IEnumerable 컬렉션의 기본 형식을 가져 오는 중
List<int> intList;
intList에 대한 ISymbol이 있으며 기본 유형을 찾아야합니다.이 경우 int입니다.
here 코드를 사용했지만 반사 기능이 작동하지 않는 것 같습니다.
private Type GetUnderlyingTypeFromEnumerable(ISymbol symbol)
{
Type eType = null;
Type[] interfaces = symbol.GetType().GetInterfaces();
foreach (Type i in interfaces)
if (i.IsGenericType && i.GetGenericTypeDefinition().Equals(typeof(IEnumerable<>)))
{
eType = i.GetGenericArguments()[0];
break;
}
return eType;
}
당신이 뭔가 같이있는 경우가 –
을 시도 코드 공유하십시오 : IList의 collName을 ... 당신이 할 수있는 - collName.GetType을() 기본 형식을 찾으십시오 –
가능한 형식의 IEnumerable에서 형식 가져 오기 (https://stackoverflow.com/questions/906499/getting-type-t-from-ienumert) –
mitaness