SILVERLIGHT 3 (!) 및 WP7 (C# 4.0 없음)의 System.Dynamic.DynamicObject를 모방하기 위해 DLR (Dynamic Language Runtime) 또는 다른 것을 어떻게 사용할 수 있습니까?Silverlight 3/WP7에서 DynamicObject와 비슷한 것을 사용하는 방법은 무엇입니까?
내가 원하는 것은 자동 데이터 바인딩을 위해 동적으로 생성 된 속성.
SILVERLIGHT 3 (!) 및 WP7 (C# 4.0 없음)의 System.Dynamic.DynamicObject를 모방하기 위해 DLR (Dynamic Language Runtime) 또는 다른 것을 어떻게 사용할 수 있습니까?Silverlight 3/WP7에서 DynamicObject와 비슷한 것을 사용하는 방법은 무엇입니까?
내가 원하는 것은 자동 데이터 바인딩을 위해 동적으로 생성 된 속성.
앞서 말씀 드린대로 과 및 C# 4.0
은 WP7
에서 사용할 수 없습니다. 그것은 당신이 그것을 할 수 없다는 것을 의미합니다. 적어도 쉽게.
Silverlight에서는 사용자 지정 태그 확장 (things between {}
)을 사용할 수 없습니다. 그래서, 그것은 옵션이 아닙니다.
당신이 할 수있는 일은 바인딩을위한 사용자 정의 Behaviors
을 생성하고 많은 속성과 값을 보유 할 수있는 Dictionaries
으로 작업하게 만드는 것입니다.
이것은 문제입니다 .. 나는 행동에 대한 해결책을 알고 있습니다. 그러나 나는 그것을 좋아하지 않습니다. DynamicObject Runtime (dlr.codeplex.com)은 DynamicObject도 포함하고 있습니까? SL3와 함께 작업 ?? – Max
DLR은 WP7과 함께 사용할 수 있습니다.
Iron Ruby는 Windows Phone 7을 version 1.1에서 지원합니다. 당신이 다음이 옵션이 될 수있는 C 번호 이외의 언어를 사용하는 행복 경우 확장 이전 4.0
을 .NET으로로
DynamicObject
대신 동적 유형이 아닌 익명 유형을 사용할 수 있습니까? 잠재적으로 구속력이있는 무한한 옵션이 없다고 가정합니다. 익명 형식을 사용하려는 경우
당신은
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.Windows")]
이 바인딩을 해결하기 위해 프레임 워크를 사용하도록 설정해야합니다.
아마도 외부 시스템에서 동적 개체가 나타납니다. 앱과 외부 시스템 사이에 래퍼 레이어를 추가하여 개체를 동적 개체가 아닌 POCO로 만들 수 있습니까?
DynamicObject가 Ruby에서 사용 가능하지만 C#에서 DLR을 사용할 수없는 이유는 무엇입니까? – Max
@knom IronRuby 프로젝트에는'DynamicObject'가 포함 된'Microsoft.Scripting.Core' 사본이 포함되어 있습니다.이 참조 문서를 직접 포함시켜 볼 수도 있습니다. –
데이터 바인딩을 언급 했으므로 이미 알지 못했을 경우를 대비하여 DynamicObject (또는 다른 IDynamicMetaObjectProvider)가있는 Silverlight 4에서도 Silverlight의 동적 개체에 데이터 바인딩을 바인딩 할 수 없습니다. WPF 4만이 지금까지 그 기능을 가지고 있습니다. –