범형 방법의 한계와 해결 방법

1941 단어 범용리플렉스
범형의 장점은 함수의 적응성을 높이고 코드의 복용에 유리하다는 데 있다.그러나 범용을 지원하는 방법에서는 이 매개 변수의 유형을 알 수 없으며, 그 속성을 직접 사용하려면 안 된다.따라서 이 점은 범형의 한계로 인해 이 범형 매개 변수, 더 나아가서는 전체 방법의 편의성을 모두 떨어뜨렸다.
이를 통해 알 수 있듯이 범형을 지원하는 방법에서 범형 대상은 매개 변수로서 서로 다른 방법 사이에서 전해지고 공을 차는 것처럼 주로 작용한다.그뿐이야.
정말 일반 대상의 속성에 접근할 수 없습니까?
"반사로 할 수 있어요."라고 시몬이 말했다.
//propertyName, 
string getProperty<T>(IList<T> listDB, string propertyName)
        {
            string val = "";

            if (listDB.Count == 0) return val;

            // 
            PropertyInfo[] propertys = listDB[0].GetType().GetProperties();
            int p = 0;
            foreach (PropertyInfo pi in propertys)
            {
                if (pi.Name.Equals(propertyName, comparisonType: StringComparison.CurrentCultureIgnoreCase))
                {// propertyName T p
                    break;
                }
                p++;
            }
            if (p == propertys.Length)
            {
                throw new Exception(" :" + propertyName);
            }

            foreach (var m in listDB)
            {
                // , T 
                val += propertys[p].GetValue(m).ToString() + ",";
                ...
            }

            return val;
        }

원숭이 지뢰.

좋은 웹페이지 즐겨찾기