다음과 같은 방법으로 개체의 모든 공용 멤버 (필드 및 속성) 이름을 사전 키로 사용하여 Dictionary<string, string>
을 반환 할 수 있습니다. 회원의 이름을 알 수는 있지만 그 가치를 알 수는 없습니다. 사람이 어떻게 아래의 방법으로이를 말해 수 :회원 이름 및 값 가져 오기
public Dictionary<String, String> ObjectProperty(object objeto)
{
Dictionary<String, String> dictionary = new Dictionary<String, String>();
Type type = objeto.GetType();
FieldInfo[] field = type.GetFields();
PropertyInfo[] myPropertyInfo = type.GetProperties();
String value = null;
foreach (var propertyInfo in myPropertyInfo)
{
value = (string)propertyInfo.GetValue(this, null); //Here is the error
dictionary.Add(propertyInfo.Name.ToString(), value);
}
return dictionary;
}
오류 :
개체 대상 유형과 일치하지 않습니다. 설명 : 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 오류 및 코드에서 시작된 위치에 대한 자세한 정보는 스택 추적을 검토하십시오.
예외 정보 : System.Reflection.TargetException : 개체가 대상 형식과 일치하지 않습니다. 여기
"오류"? 어떤 오류가 있습니까? –
값을 가져 오기 위해 객체의 인스턴스를 전달하면 안됩니까? –
속성! = 속성 –