2013-07-14 5 views
0

Я пытаюсь динамически создавать классы для импорта привязки XAML. Он хорошо работает в WPF, но не в Windows Phone 8. Видимо, Windows Phone 8 не поддерживает привязку к контексту данных dynamic (он просто не пытается вызывать любые динамические методы и свойства).Испускать IL в Windows Phone 8

Так что я думал, что пройду более длинный маршрут и динамически выпускаю классы. К сожалению, я не смог найти какой-либо способ испустить IL в Windows Phone 8. Пространство имен System.Reflection.Emit существует, но не содержит разделителя-помощника-эмиттера. System.AppDomain вообще не существует, поэтому я не могу создать новую сборку для размещения моих вновь созданных классов.

Я заметил, что DynamicMethod поддерживается, но мне нужно генерировать целые классы, а не только анонимный метод здесь и там. Является ли IL-излучение полностью запрещенным в Windows Phone 8?

+0

Проверить [правило 3.9] (http://msdn.microsoft.com/en-us/library/windows/apps/hh694083.aspx) –

+0

Хмммм. Я не буду нарушать правило - нет динамически загруженного кода, и динамическое поведение не взаимодействует со средой выполнения Windows. Однако, если Microsoft решила обеспечить соблюдение правила, убив способность генерировать ИЛ на лету - мне не повезло. – zmbq

+0

@ HansPassant, что для Windows 8, а не для Windows Phone 8. –

ответ

2

Является ли излучение IL полностью запрещенным в Windows Phone 8?

Только почти. Но привязка не обязательно должна быть динамичной. Привязки пытаются получить доступ к объекту объекта, не зная его типа, поэтому, даже если вы связали System.Object как DataContext, у вас все равно может быть {Binding SomeProperty} в вашем XAML.

+0

Действительно, но я пытаюсь заменить вашу модель взгляда расширенной, которая автоматически запускает события PropertyChanged и CollectionChanged. Для этого мне нужно каким-то образом создать класс, который имитирует вашу модель представления. – zmbq

+0

@zmbq Вы все еще не нуждаетесь в динамике для этого. –

+0

Как я могу динамически создавать SomeProperty, не делая ничего динамического? – zmbq