목록에 <T> 유형을 추가하는 데 어려움이 있습니다.

레이

<T>목록에 유형 추가하면 추가 되는 다른 값을 여러 번 덮어 쓰는 이유를 찾을 수없는 것 같기 때문에 코드에 대한 도움이 필요합니다 .

아래는 내 코드입니다.

public IEnumerable<T> Query<T>(string query, object parameters = null) where T : new()
{
    var lists = new List<T>();
    var ObjType = new T();
    var ObjProps = ObjType.GetType().GetProperties();
    int Objlen = ObjProps.Length;

    if (parameters == null)
    {
        DBConnection.Open();
        using (MySqlTransaction mysqlTransaction = DBConnection.BeginTransaction(System.Data.IsolationLevel.ReadCommitted))
        {
            try
            {
                using (MySqlCommand command = new MySqlCommand(query, DBConnection))
                {
                    command.Transaction = mysqlTransaction;
                    using (MySqlDataReader dataReader = command.ExecuteReader())
                    {
                        if (dataReader.HasRows)
                        {
                            while (dataReader.Read())
                            {
                                for (int i = 0; i < dataReader.FieldCount; i++)
                                {
                                    var dataValue = dataReader.GetValue(i);
                                    ObjProps.FirstOrDefault(p => p.Name == dataReader.GetName(i)).SetValue(ObjType, dataValue);
                                }
                                lists.Add(ObjType);
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
                mysqlTransaction.Rollback();
                DBConnection.Close();
                throw;
            }
            finally
            {
                if (DBConnection != null)
                {
                    DBConnection.Close();
                }
            }
        }
    }
    return lists;
}

내 코드에서 논리 오류를 찾을 수없는 것 같습니다. 코드를 실행하면 목록에 처음 추가해도 괜찮습니다.

첫 번째 목록 추가

그러나 for 루프에 대해 다시 반복하자마자 값을 덮어 쓰는 것처럼 보였고 왜 이런 일이 발생하는지에 대한 단서조차 없습니다.

아래는 사진입니다.

여기에 이미지 설명 입력

어떤 도움 / 설명 / 답변이라도 대단히 감사합니다.

라인 var ObjType = new T();은 상단이 아닌 while 루프 내부에 있어야합니다. 그렇지 않으면 동일한 객체를 수정하고 새 객체를 추가하지 않습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

목록에서 항목을 제거하는 데 어려움이 있습니다.

분류에서Dev

함수에서 원하는 출력 파일 유형을 가져 오는 데 어려움이 있습니다.

분류에서Dev

List <Packet>을 List <List <Packet >>에 추가하는 데 어려움이 있습니까?

분류에서Dev

Python 에서이 TypeError가 발생하는 이유를 이해하는 데 어려움을 겪고 있습니다.

분류에서Dev

두 개의 개별 소스 목록에있는 데이터에서 새 목록을 만들 때-소스 데이터를 올바르게 추가하는 데 어려움이 있습니다. (파이썬)

분류에서Dev

Html.DropDownListFor에 대한 인수의 목적을 이해하는 데 어려움이 있습니다.

분류에서Dev

Powershell의 텍스트 파일에서 응답을 추출하는 데 어려움이 있습니다.

분류에서Dev

데이터 목록에서 항목을 두 번 이상 추가 / 제거하는 데 문제가 있습니다.

분류에서Dev

C #에서 "내부 형식 확장"을 표시하는 데 어려움이 있습니다.

분류에서Dev

IEnumerable <T> 구현을 ICollection <T>로 전환하는 데 어려움이 있습니다.

분류에서Dev

Windows 7에 메모리 누수가있어 원인을 찾는 데 어려움이 있습니다.

분류에서Dev

Notepad ++에서 정규식을 사용하여 등호 주위에 공백을 추가하는 데 어려움이 있습니다.

분류에서Dev

입력 유형 텍스트를 만드는 데 어려움이 있습니다

분류에서Dev

Google 막대 차트에서 작업 중이며 개별 막대에 색상을 추가하는 데 어려움을 겪고 있습니다.

분류에서Dev

설치된 psensor, 내 GPU에 해당하는 판독 값을 식별하는 데 어려움이 있습니다.

분류에서Dev

파이썬에서지도 기능을 사용하는 데 어려움이 있습니다.

분류에서Dev

쿼리 결과에서 데이터를 추출하는 방법을 이해하는 데 어려움이 있습니다.

분류에서Dev

r을 사용하여 ggplot2에서 색상을 조정하는 데 어려움이 있습니다.

분류에서Dev

SQL Server에서 xml을 구문 분석하는 데 어려움이 있습니다.

분류에서Dev

내보기에 내 모델을 표시하는 데 어려움이 있습니다.

분류에서Dev

서버에서 배열로 json 문자열을 변환하는 데 어려움이 있습니다.

분류에서Dev

Django에서 request.POST 값을 변환하는 데 어려움이 있습니다.

분류에서Dev

XSLT의 새로운 기능! 레코드 사이에 새 줄을 추가하는 데 어려움이 있음

분류에서Dev

코드에서 세그먼트 화 오류 (코어 덤프)가 발생하는 이유를 이해하는 데 어려움이 있습니다.

분류에서Dev

이 json 파일을 구문 분석하는 데 어려움이 있습니다.

분류에서Dev

간단한 C 문을 이해하는 데 어려움이 있습니다.

분류에서Dev

간단한 C 문을 이해하는 데 어려움이 있습니다.

분류에서Dev

테스트 세트의 전체 테스트 케이스 목록을 가져 오는 데 어려움이 있습니다.

분류에서Dev

Java에서 Palindrome을 수행하는 데 어려움을 겪고 있습니다.

Related 관련 기사

  1. 1

    목록에서 항목을 제거하는 데 어려움이 있습니다.

  2. 2

    함수에서 원하는 출력 파일 유형을 가져 오는 데 어려움이 있습니다.

  3. 3

    List <Packet>을 List <List <Packet >>에 추가하는 데 어려움이 있습니까?

  4. 4

    Python 에서이 TypeError가 발생하는 이유를 이해하는 데 어려움을 겪고 있습니다.

  5. 5

    두 개의 개별 소스 목록에있는 데이터에서 새 목록을 만들 때-소스 데이터를 올바르게 추가하는 데 어려움이 있습니다. (파이썬)

  6. 6

    Html.DropDownListFor에 대한 인수의 목적을 이해하는 데 어려움이 있습니다.

  7. 7

    Powershell의 텍스트 파일에서 응답을 추출하는 데 어려움이 있습니다.

  8. 8

    데이터 목록에서 항목을 두 번 이상 추가 / 제거하는 데 문제가 있습니다.

  9. 9

    C #에서 "내부 형식 확장"을 표시하는 데 어려움이 있습니다.

  10. 10

    IEnumerable <T> 구현을 ICollection <T>로 전환하는 데 어려움이 있습니다.

  11. 11

    Windows 7에 메모리 누수가있어 원인을 찾는 데 어려움이 있습니다.

  12. 12

    Notepad ++에서 정규식을 사용하여 등호 주위에 공백을 추가하는 데 어려움이 있습니다.

  13. 13

    입력 유형 텍스트를 만드는 데 어려움이 있습니다

  14. 14

    Google 막대 차트에서 작업 중이며 개별 막대에 색상을 추가하는 데 어려움을 겪고 있습니다.

  15. 15

    설치된 psensor, 내 GPU에 해당하는 판독 값을 식별하는 데 어려움이 있습니다.

  16. 16

    파이썬에서지도 기능을 사용하는 데 어려움이 있습니다.

  17. 17

    쿼리 결과에서 데이터를 추출하는 방법을 이해하는 데 어려움이 있습니다.

  18. 18

    r을 사용하여 ggplot2에서 색상을 조정하는 데 어려움이 있습니다.

  19. 19

    SQL Server에서 xml을 구문 분석하는 데 어려움이 있습니다.

  20. 20

    내보기에 내 모델을 표시하는 데 어려움이 있습니다.

  21. 21

    서버에서 배열로 json 문자열을 변환하는 데 어려움이 있습니다.

  22. 22

    Django에서 request.POST 값을 변환하는 데 어려움이 있습니다.

  23. 23

    XSLT의 새로운 기능! 레코드 사이에 새 줄을 추가하는 데 어려움이 있음

  24. 24

    코드에서 세그먼트 화 오류 (코어 덤프)가 발생하는 이유를 이해하는 데 어려움이 있습니다.

  25. 25

    이 json 파일을 구문 분석하는 데 어려움이 있습니다.

  26. 26

    간단한 C 문을 이해하는 데 어려움이 있습니다.

  27. 27

    간단한 C 문을 이해하는 데 어려움이 있습니다.

  28. 28

    테스트 세트의 전체 테스트 케이스 목록을 가져 오는 데 어려움이 있습니다.

  29. 29

    Java에서 Palindrome을 수행하는 데 어려움을 겪고 있습니다.

뜨겁다태그

보관