propertyInfo.SetValue() 메서드를 사용하여 리플렉션으로 개체 속성 값을 설정하려고하는데 "개체가 대상 형식과 일치하지 않습니다."예외가 발생합니다. 문자열 대체 값이있는 객체에 간단한 문자열 속성을 설정하려고 할 때 실제로 의미가 없습니다 (적어도 나에게!). 여기에 코드 조각입니다 - 이것은 무리 많은 코드가 그래서 재귀 함수에 포함됩니다 만,이 용기입니다 : 그 "businessObject"와 "replacementValue"을 확인한C# Reflection - 개체가 대상 형식과 일치하지 않습니다.
PropertyInfo fieldPropertyInfo = businessObject.GetType().GetProperties().FirstOrDefault(f => f.Name.ToLower() == piecesLeft[0].ToLower());
businessObject = fieldPropertyInfo.GetValue(businessObject, null);
fieldPropertyInfo.SetValue(businessObject, replacementValue, null);
은 모두 같은 타입으로되어 당신은 businessObject
의 유형, 해당 속성 아닌 유형의 다른 값으로 businessObject에 속성 값을 설정하려는
businessObject.GetType() == replacementValue.GetType()
빙고 : 당신이
businessObject
을 덮어하고 있기 때문에 뭔가를해야합니다. 감사! –