가능한 중복 두 번째 변수를 캐스트 :
C# generic list <T> how to get the type of T?형태를 취득하고 해당 유형에
내가 목록 변수를 가지고 있고 그 목록의 유형을 싶어하고 두 번째 변수를 캐스팅 그 유형에. 명확성을 위해 아래 코드를 추가했습니다.
return _ValueList.Any<FieldType>(x => x.Equals((FieldType)fieldValueObject));
내가 이런 식으로 뭔가를 할 :
Type valueType = _ValueList.GetType();
return _ValueList.Any<FieldType>(x => x.Equals((valueType)fieldValueObject));
어떤 도움을 이해할 수있을 것이다
현재 나는 다음 있습니다.
업데이트 : fieldValueObject 유형 INT16이며 내가 INT32에 캐스팅 할 때
유효하지 않은 캐스트 예외가 발생합니다.
업데이트 2 : 그것은 꽤 아니지만 작동
if (fieldValueObject.GetType() == typeof(Int16))
{
fieldValueObject = Convert.ToInt32(fieldValueObject);
}
return _ValueList.Any<FieldType>(x => x.Equals(fieldValueObject));
:
나는 다음과 같은 솔루션을 사용했다. 두 번째는 InvalidCastException이 던질 수있는
달성하려는 목표는 무엇입니까? 문자열 값이있는 숫자 목록을 필터링하려고합니까? 나머지 기능을 보면 도움이 될 것입니다. – Alex
값이 일반 목록에 있는지 확인하려고합니다. 내가 테스트하고있는 값은 db에서 검색되며, 목록 유형으로 변환하면 예외가 발생합니다. – FreddieGericke