» » » » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

На нашем литературном портале можно бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю, Троелсен Эндрю . Жанр: Базы данных. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале litmir.org.
Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Название: Язык программирования C#9 и платформа .NET5
Дата добавления: 22 август 2024
Количество просмотров: 172
Читать онлайн

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту readbookfedya@gmail.com для удаления материала

Язык программирования C#9 и платформа .NET5 читать книгу онлайн

Язык программирования C#9 и платформа .NET5 - читать бесплатно онлайн , автор Троелсен Эндрю

В 10-м издании книги описаны новейшие возможности языка C# 9 и .NET 5 вместе с подробным "закулисным" обсуждением, призванным расширить навыки критического мышления разработчиков, когда речь идет об их ремесле.

Книга охватывает ASP.NET Core, Entity Framework Core и многое другое наряду с последними обновлениями унифицированной платформы .NET, начиная с улучшений показателей производительности настольных приложений Windows в .NET 5 и обновления инструментария XAML и заканчивая расширенным рассмотрением файлов данных и способов обработки данных.

Все примеры кода были переписаны с учетом возможностей последнего выпуска C# 9.

Перейти на страницу:

</Canvas>

Присоединяемые свойства являются специализированной формой специфичной для WPF концепции, которая называется свойством зависимости. Если только свойство не было реализовано в весьма специальной манере, то его значение не может быть установлено с использованием синтаксиса присоединяемых свойств. Свойства зависимости подробно исследуются в главе 25.

На заметку! В Visual Studio имеется средство IntelliSense, которое отображает допустимые присоединяемые свойства, доступные для установки заданным элементом.

Понятие расширений разметки XAML

Как уже объяснялось, значения свойств чаще всего представляются в виде простой строки или через синтаксис "свойство-элемент". Однако существует еще один способ указать значение атрибута XAML — применение расширений разметки. Расширения разметки позволяют анализатору XAML получать значение для свойства из выделенного внешнего класса. Это может обеспечить большие преимущества, поскольку для получения значений некоторых свойств требуется выполнение множества операторов кода.

Расширения разметки предлагают способ аккуратного расширения грамматики XAML новой функциональностью. Расширение разметки внутренне представлено как класс, производный от MarkupExtension. Следует отметить, что необходимость в построении специального расширения разметки возникает крайне редко. Тем не менее, некоторые ключевые слова XAML (вроде х:Array, x:Null, х:Static и х:Туре) являются замаскированными расширениями разметки!

Расширение разметки помещается между фигурными скобками:

<i>&lt;Элемент УстанавливаемоеСвойство = &quot;{ РасширениеРазметки }&quot; /&gt;</i>

Чтобы увидеть расширение разметки в действии, введите в редакторе Kaxaml следующий код:

&lt;Page

  xmlns=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;

  xmlns:x=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;

  xmlns:CorLib=&quot;clr-namespace:System;assembly=mscorlib&quot;&gt;

  &lt;StackPanel&gt;

<b>    &lt;!-- Расширение разметки Static позволяет получать значение</b>

<b>        статического члена класса --&gt;</b>

    &lt;Label Content =&quot;{x:Static CorLib:Environment.OSVersion}&quot;/&gt;

    &lt;Label Content =&quot;{x:Static CorLib:Environment.ProcessorCount}&quot;/&gt;

<b>    &lt;!-- Расширение разметки Type - это версия XAML</b>

<b>         операции typeof языка C# —&gt;</b>

    &lt;Label Content =&quot;{x:Type Button}&quot; /&gt;

    &lt;Label Content =&quot;{x:Type CorLib:Boolean}&quot; /&gt;

<b>    &lt;! — Наполнение элемента ListBox массивом строк -- &gt;</b>

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

    &lt;ListBox Width=&quot;200&quot; Height=&quot;50&quot;&gt;

      &lt;ListBox.ItemsSource&gt;

        &lt;x:Array Type=&quot;CorLib:String&quot;&gt;

          &lt;CorLib:String&gt;Sun Kil Moon&lt;/CorLib:String&gt;

          &lt;CorLib:String&gt;Red House Painters&lt;/CorLib:String&gt;

          &lt;CorLib:String&gt;Besnard Lakes&lt;/CorLib:String&gt;

        &lt;/x:Array&gt;

      &lt;/ListBox.ItemsSource&gt;

    &lt;/ListBox&gt;

  &lt;/StackPanel&gt;

&lt;/Page&gt;

Прежде всего, обратите внимание, что определение &lt;Page&gt; содержит новое объявление пространства имен XML, которое позволяет получать доступ к пространству имен System сборки mscorlib.dll. После установления этого пространства имен XML первым делом с помощью расширения разметки х:Static извлекаются значения свойств OSVersion и ProcessorCount класса System.Environment.

Расширение разметки х:Туре обеспечивает доступ к описанию метаданных указанного элемента. Здесь содержимому элементов Label просто присваиваются полностью заданные имена типов Button и System.Boolean из WPF.

Наиболее интересная часть показанной выше разметки связана с элементом ListBox. Его свойство Itemsourсе устанавливается в массив строк, полностью объявленный в разметке. Взгляните, каким образом расширение разметки х:Array позволяет указывать набор подэлементов внутри своей области действия:

&lt;x:Array Type=&quot;CorLib:String&quot;&gt;

  &lt;CorLib:String&gt;Sun Kil Moon&lt;/CorLib:String&gt;

  &lt;CorLib:String&gt;Red House Painters&lt;/CorLib:String&gt;

  &lt;CorLib:String&gt;Besnard Lakes&lt;/CorLib:String&gt;

&lt;/x:Array&gt;

На заметку! Предыдущий пример XAML служит только для иллюстрации расширения разметки в действии. Как будет показано в главе 25, существуют гораздо более простые способы наполнения элементов управления ListBox.

На рис. 24.3 представлена разметка этого элемента &lt;Page&gt; в редакторе Kaxaml.

Вы уже видели многочисленные примеры, которые демонстрировали основные аспекты синтаксиса XAML. Вы наверняка согласитесь, что XAML интересен своей возможностью описывать деревья объектов .NET в декларативной манере. Хотя это исключительно полезно при конфигурировании графических пользовательских интерфейсов, не забывайте о том, что с помощью XAML можно описывать любой тип из любой сборки при условии, что он является неабстрактным и содержит стандартный конструктор.

Перейти на страницу:
Комментариев (0)