Xamarin.Forms экспериментальные флаги
При реализации новой Xamarin.Forms функции она иногда ставится за экспериментальный флаг. Это позволяет команде разработчиков быстрее предоставлять новые функции, а также изменять API функций, прежде чем переходить к стабильному выпуску. Затем экспериментальный флаг удаляется после перехода функции в стабильный выпуск.
Xamarin.Forms включает следующие экспериментальные флаги:
Shell_UWP_Experimental
Использование функциональных возможностей, лежащих в основе экспериментального флага, требует включения флага или флагов в приложении. Существует два подхода для включения экспериментальных флагов:
- Включите экспериментальный флаг в проектах платформы.
- Включите экспериментальный флаг в классе
App
.
Предупреждение
Использование функциональных возможностей, которые стоят за экспериментальным флагом, без включения флага, приведет к возникновению исключения, указывающего, какой флаг должен быть включен.
Включение флагов в проектах платформы
Этот Xamarin.Forms.Forms.SetFlags
метод можно использовать для включения экспериментального флага в проектах платформы:
Xamarin.Forms.Forms.SetFlags("Shell_UWP_Experimental");
Метод SetFlags
должен вызываться в AppDelegate
классе в iOS, в MainActivity
классе на Android и в App
классе в UWP.
Внимание
До вызова метода необходимо Forms.Init
включить экспериментальный флаг в проектах платформы.
Метод Xamarin.Forms.Forms.SetFlags
принимает string
аргумент массива, что позволяет включить несколько экспериментальных флагов в одном вызове метода:
Xamarin.Forms.Forms.SetFlags(new string[] { "Shell_UWP_Experimental", "AnotherFeature_Experimental" });
Предупреждение
Никогда не вызывать SetFlags
метод несколько раз, так как последующие вызовы перезаписывают результат предыдущих вызовов.
Включение флагов в классе App
Этот Device.SetFlags
метод можно использовать для включения экспериментального флага App
в классе в проекте общего кода:
Device.SetFlags(new string[]{ "Shell_UWP_Experimental" });
Метод Device.SetFlags
принимает IReadOnlyList<string>
аргумент, что позволяет включить несколько экспериментальных флагов в одном вызове метода:
Device.SetFlags(new string[]{ "Shell_UWP_Experimental", "AnotherFeature_Experimental" });
Предупреждение
Никогда не вызывать SetFlags
метод несколько раз, так как последующие вызовы перезаписывают результат предыдущих вызовов.
Старые флаги экспериментального режима
В следующей таблице перечислены экспериментальные флаги для функций, которые теперь находятся в общедоступной доступности, и Xamarin.Forms выпуск, в котором был удален экспериментальный флаг:
Флаг | Xamarin.Forms Выпуска |
---|---|
AppTheme_Experimental |
4,8 |
Brush_Experimental |
5,0 |
CarouselView_Experimental |
5,0 |
CollectionView_Experimental |
4.3 |
DragAndDrop_Experimental |
5,0 |
FastRenderers_Experimental |
4.0 |
IndicatorView_Experimental |
4,7 |
Markup_Experimental |
5.0 (перемещено в Xamarin Community набор средств) |
MediaElement_Experimental |
5.0 (перемещено в Xamarin Community набор средств) |
RadioButton_Experimental |
5,0 |
Shapes_Experimental |
5,0 |
Shell_Experimental |
4.0 |
StateTriggers_Experimental |
4,7 |
SwipeView_Experimental |
5,0 |
Visual_Experimental |
3,6 |