이 문제는 MonoTouch.Dialog의 버그라고 생각합니다. 내가 수정을 할 수있는 정확한 장소를 지적 할 수 있도록 내 프로젝트의 BindingContext에 큰 변경을했지만이 도움이 될 수 있습니다 :
private MemberInfo[] GetMembers(object dataContext)
{
return dataContext.GetType().GetMembers(BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Static | BindingFlags.Instance).Where(m =>
{
var methodInfo = m as MethodBase;
//Bug 662867: var skip = m.GetCustomAttribute<SkipAttribute>(true) != null;
var skip = m.Name == "ToString";
return (methodInfo == null || !methodInfo.IsConstructor && !methodInfo.IsSpecialName) && m.MemberType != MemberTypes.Field && !skip;
}).ToArray();
}
을 내가 특정을하고있는 중이 위에 당신이 코드에서 볼 수 있듯이 자동 속성의 Get 및 Set 메서드 인! methodInfo.IsSpecialName을 확인하십시오. 이 메서드를 사용하여 객체의 멤버를 가져올 수 있습니다.
MonoTouch.Dialog 내 버전을 사용하는 프로젝트 MonoTouch.MVVM은 필드와 속성 만 사용하지 않습니다. 필드에 속성을 사용하려면 위 코드에서 & &m.MemberType! = MemberTypes.Field를 제거하십시오.
나는 정확히 표시되지 않도록하려면 어떤 부분이 확실하지 않다. 귀하의 질문에서 명확하지 않았습니다 –
뒷받침 필드가 표시되지 않기를 바랍니다 –