programing

PropertyInfo를 사용하여 속성 유형 찾기

nasanasas 2020. 8. 16. 20:45
반응형

PropertyInfo를 사용하여 속성 유형 찾기


사용자 지정 유효성 검사를 수행하기 위해 개체 트리를 동적으로 구문 분석하고 싶습니다. 유효성 검사는 그렇게 중요하지 않지만 PropertyInfo 클래스를 더 잘 이해하고 싶습니다.

이런 식으로 할 것입니다.

public bool ValidateData(object data)
{
    foreach (PropertyInfo propertyInfo in data.GetType().GetProperties())
    {
        if (the property is a string)
        {
            string value = propertyInfo.GetValue(data, null);

            if value is not OK
            {
                return false;
            }
        }
    }            

    return true;
}

현재 내가 신경 쓰는 유일한 부분은 '속성이 문자열 인 경우'입니다. PropertyInfo 객체에서 유형이 무엇인지 어떻게 알 수 있습니까?

나는 문자열, 정수, 복식과 같은 기본적인 것들을 다루어야 할 것입니다. 그러나 나는 또한 객체를 다루어야 할 것이고, 그렇다면 객체 내부의 기본 데이터를 검증하기 위해 객체 트리를 더 아래로 탐색해야 할 경우 문자열 등도 가질 것입니다.

감사.


PropertyInfo.PropertyType속성의 유형을 가져 오는 데 사용 합니다.

public bool ValidateData(object data)
{
    foreach (PropertyInfo propertyInfo in data.GetType().GetProperties())
    {
        if (propertyInfo.PropertyType == typeof(string))
        {
            string value = propertyInfo.GetValue(data, null);

            if value is not OK
            {
                return false;
            }
        }
    }            

    return true;
}

참고 URL : https://stackoverflow.com/questions/3723934/using-propertyinfo-to-find-out-the-property-type

반응형