C# 속성PropertyInfo의 setvalue 메서드

6464 단어 C#
다음은 setvalue 방법에 대한 소개와 색인화 속성의 선택할 수 있는 색인 값으로 지정한 대상의 이 속성 값을 설정하는 오류 설명입니다.C#
public virtual void SetValue (object obj, object value, object[] index);

매개 변수objObject속성 값이 설정된 객체입니다.value Object 새 속성 값입니다.index Object[] 색인화된 속성의 선택적 색인 값입니다.색인화되지 않은 속성에 대해서는 이 값이null이어야 합니다.이루어지다
SetValue(Object, Object, Object[])

유난히

ArgumentException

index 그룹은 필요한 매개 변수 형식을 포함하지 않습니다.이 속성의 set 값 함수를 찾을 수 없습니다.
4
  • 또는 -value는 PropertyType 유형으로 변환할 수 없습니다
  • TargetException
    

    Windows Application 스토어에서 사용할 수 있는.NET 또는 마이그레이션 가능 라이브러리에서 Exception 캡처로 변경됩니다.
    이 대상은 목표 유형과 일치하지 않거나, 어떤 속성은 실례 속성이지만 obj는null입니다.TargetParameterCountException index의 매개변수 수와 색인 속성에 사용된 매개변수 수가 일치하지 않습니다.
    MethodAccessException
    

    Windows Application 스토어에서 사용할 수 있는.NET 또는 마이그레이션 가능 라이브러리에서 기본 클래스 예외 캡처 MemberAccessException으로 변경합니다.
    불법 접근 클래스의 사유나 보호 방법을 시도합니다.TargetInvocationException에서 속성 값을 설정하는 동안 오류가 발생했습니다.예를 들어, 색인 속성에 지정된 색인 값이 범위를 벗어납니다.InnerException 속성은 오류의 원인을 나타냅니다.

    예.

     Dictionary<string, string> dic = new Dictionary<string, string>();
                foreach (Control control  in this.Controls )// , 
                {
                    if (control is TextBox ||control is ComboBox ||control is DateTimePicker )
                    {
                        dic.Add (control.Name, control.Text);
                    }
                }
                PropertyInfo[] propertys = incomingnews.GetType().GetProperties();
                foreach (PropertyInfo property in propertys)// propertyinfo , incomingnews 。
                {
                    for (int i = 0; i<dic.Count; i++)
                    {
                        property.SetValue(incomingnews, dic[property.Name].ToString(), null);
                    }
                }
    

    이전에 작은 오류가 있었는데, 나중에 오류 알림을 보았습니다. "index 그룹은 필요한 매개 변수 형식을 포함하지 않습니다. 이 속성의 set 값 함수를 찾을 수 없습니다. - 또는-value는PropertyType 형식으로 변환할 수 없습니다."자신이 값을 부여하고 싶은 실체 클래스가 실체의 속성이 아니라 실체의 필드라는 것을 발견하기 때문에 setvalue 방법은 내가 부여하고 싶은 필드를 포착하지 못한다. 이 필드를 자동 속성으로 설정하면 된다.

    좋은 웹페이지 즐겨찾기