리플렉션을 사용하여 객체에서 속성을 바인딩하려고합니다. 객체는 getter/setter에 public primitive type 속성과 일부 코드가있는 단순 클래스입니다. 그러나 텍스트 상자의 값을 변경하면 개체의 인스턴스에 대한 변경 사항이 반영되지 않고 값이 업데이트되지 않습니다. 무엇이 누락 되었습니까?리플렉션을 사용하여 컨트롤에 바인딩 속성
public object myObj;
public void setObject(ref object myObject)
{
myObj = myObject;
}
var textbox = new Textbox();
...
textbox.DataBindings.Add("Text", myObj, myObj.GetType().GetProperties()[0].Name);
this.Controls.Add(textbox);
실제 객체를 전달하고, 그런 식으로 재산에 바인딩하려고합니다. 그렇다면, 그 방법으로 되돌아 가면, 'Type myType = myobj.GetType()','myproperties = myType.GetProperties()'등 단계가 실패하는지 확인하기 위해 모든 것을 보급하십시오. –
@ImmortalBlue 나는 둘 다 이미 피곤하지만 작동하지 않는다. 왜냐하면 나는 문자열 - 이름 뒤에 만 있기 때문에별로 중요하지 않다. 참조에 의한 전달은이 코드 외부의 개체에 대한 변경 사항을 반영하기 때문에 더 논리적 인 것 같습니다. – formatc
내가하려고했던 점은 두 가지입니다. 첫째, 원래 형식을 전달하고 작동하지 않는다면 반사가 문제가 아니라는 것을 보여 줬을 것입니다. 두 번째로, 호출을 퍼뜨림으로써, 디버그 목적을 위해, 당신은 그 방법으로 들어가서 당신이 원하는 것을하지 않는 단계를 볼 수 있습니다. –