» » » Алекс Jenter - Программирование на Visual C++. Архив рассылки


Авторские права

Алекс Jenter - Программирование на Visual C++. Архив рассылки

Здесь можно скачать бесплатно "Алекс Jenter - Программирование на Visual C++. Архив рассылки" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Рейтинг:
Название:
Программирование на Visual C++. Архив рассылки
Автор:
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Программирование на Visual C++. Архив рассылки"

Описание и краткое содержание "Программирование на Visual C++. Архив рассылки" читать бесплатно онлайн.



РАССЫЛКА ЯВЛЯЕТСЯ ЧАСТЬЮ ПРОЕКТА RSDN, НА САЙТЕ КОТОРОГО ВСЕГДА МОЖНО НАЙТИ ВСЮ НЕОБХОДИМУЮ РАЗРАБОТЧИКУ ИНФОРМАЦИЮ, СТАТЬИ, ФОРУМЫ, РЕСУРСЫ, ПОЛНЫЙ АРХИВ ПРЕДЫДУЩИХ ВЫПУСКОВ РАССЫЛКИ И МНОГОЕ ДРУГОЕ.






Когда вы компилируете свой код, он преобразуется в Microsoft Intermediate Language (MSIL) и помещается в файл формата Portable Executable (PE) вместе с метаданными, сгенерированными компилятором. Атрибуты позволяют добавить к метаданным дополнительную информацию, которая затем может извлекаться при помощи механизма рефлексии. Компилятор создает атрибуты, когда вы объявляете экземпляры специальных классов, наследующих от System.Attribute.

.NET Framework широко использует атрибуты. Атрибуты описывают правила сериализации данных, управляют безопасностью и ограничивают оптимизацию JIT-компиляторов для облегчения отладки кода. Атрибуты также могут содержать имя файла или автора, или управлять видимостью элементов управления и классов при разработке форм пользовательского интерфейса.

Вы можете использовать атрибуты для произвольного комментирования кода и управления поведением компонентов. Атрибуты позволяют добавлять описательные элементы в C#, управляемые расширения для C++, Microsoft Visual Basic.NET или в любой другой язык, поддерживающий CLR, без необходимости переписывать компилятор.

Кроме того, атрибуты можно использовать в ATL проектах, но это тема уже другой статьи.

Применение атрибутов

Большинство атрибутов применяется к таким элементам языка как классы, методы, поля и свойства. Но некоторые атрибуты являются глобальными – они воздействуют на всю сборку или модуль. Глобальные атрибуты в текстах программ объявляются после using директив верхнего уровня перед определениями типов и пространств имен. Они могут использоваться в разных исходных файлах одной программы.

Применение атрибутов на уровне классов и методов

Атрибуты в программном коде используются следующим образом:

1. Определяется новый или берется существующий в .NET Framework атрибут

2. Инициализируется конкретный экземпляр атрибута с помощью вызова конструктора атрибута.

Атрибут помещается в метаданные при компиляции кода и становится доступен CLR и любым инструментальным средствам и приложениям через механизмы рефлексии.

По соглашению, имена всех атрибутов оканчиваются словом Attribute. Однако, языки из VisualStudio.NET, не требуют задания полного имени атрибута. Например, если нужно инициализировать атрибут System.ObsoleteAttribute, достаточно написать Obsolete.

Следующий пример показывает, как использовать атрибут System.ObsoleteAttribute, помечающий код как устаревший. Атрибуту передается строка "Будет удалено в следующей версии". Этот атрибут заставляет компилятор выдать переданную строку как предупреждение при компиляции помеченного кода.

C#

using System;

public class MainApp {

 public static void Main() {

  //На этой строке компилятор выдаст предупреждение.

  int MyInt = Add(2,2);

 }


 //В C# атрибуты задаются в квадратных скобках.

 //Этот атрибут применяется только к методу Add.

 [Obsolete("В следующей версии метод будет удален")]

 public static int Add(int a, int b) {

  return (a + b);

 }

}

MC++

#using <mscorlib.dll>

using namespace System;

int Add(int a, int b);


void main(void) {

 //На этой строке компилятор выдаст предупреждение.

 int MyInt = Add(2, 2);

 return;

}


//В MC++ атрибуты задаются в квадратных скобках.

//Этот атрибут применяется только к методу Add.

[Obsolete(S"В следующей версии метод будет удален")]

int Add(int a, int b) {

 return (a + b);

}

Visual Basic.NET

Imports System

Public Module main

Sub Main()

 'На этой строке компилятор выдаст предупреждение.

 Dim MyInt as Integer = Add(2,2)

End Sub


' В Visual Basic.NET атрибуты задаются между скобками < и >.

' Этот атрибут применяется только к методу Add.

Function <Obsolete("В следующей версии метод будет удален")>_

 Add(a as Integer, b as Integer) as Integer

 Add = a + b

End Function

End Module

Применение атрибутов на уровне сборок

Для применения атрибутов на уровне сборок используется ключевое слово Assembly. Следующий пример показывает, как используется атрибут AssemblyNameAttribute:

C#

using System.Reflection;

[assembly:AssemblyName("Моя сборка")]

MC++

using namespace System::Reflection;

[assembly:AssemblyName(S"Моя сборка")];

Visual Basic.NET

Imports System.Reflection

<Assembly:AssemblyName("Моя сборка")>

При компиляции кода строка "Моя сборка" помещается в манифест сборки в секции метаданных. Этот атрибут можно увидеть с помощью дизассемблера MSIL (Ildasm.exe) или с помощью пользовательских средств.

Применение атрибутов на уровне модулей

Для применения атрибутов на уровне модулей используется ключевое слово Module, в остальном все как на уровне сборок.

Пользовательские атрибуты

Чтобы разрабатывать собственные атрибуты, не нужно изучать что-то принципиально новое. Если вы знакомы с объектно-ориентированным программированием и знаете, как разрабатывать классы, вы знаете уже практически все. Пользовательские атрибуты – это классы, тем или иным образом наследующие от System.Attribute. Также как и все другие классы, пользовательские атрибуты содержат методы для записи и чтения данных. Рассмотрим процесс создания пользовательского атрибута по шагам.

Применение атрибута AttributeUsageAttribute

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

C#

[AttributeUsage(AttributeTargets.All, Inherited = false, AllowMultiple = true)]

MC++

[AttributeUsage(AttributeTargets::All, Inherited = false, AllowMultiple = true)]

Visual Basic.NET

<AttributeUsage(AttributeTargets.All, Inherited := False, AllowMultiple := true)>

Класс System.AttributeUsageAttribute содержит три члена, которые важны для создания пользовательских атрибутов: AttributeTargets, Inherited и AllowMultiple.

Поле AttributeTargets

В предыдущем примере используется флаг AttributeTargets.All. Этот флаг означает, что данный атрибут может применяться к любым элементам программы. С другой стороны, можно задать флаг AttributeTargets.Class, означающий, что атрибут применяется только к классам, или AttributeTargets.Method – для методов классов и интерфейсов. Подобным образом можно применять и пользовательские атрибуты.

Также можно использовать несколько экземпляров атрибута AttributeTargets. В следующем примере показано, как пользовательский атрибут может применяться к любому классу или методу:

C#

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]

MC++

[AttributeUsage(AttributeTargets::Class | AttributeTargets::Method)]

Visual Basic.NET

<AttributeUsage(AttributeTargets.Class BitOr AttributeTargets.Method)>

Свойство Inherited

Это свойство определяет, будет ли атрибут наследоваться классами, наследниками того, к которому этот атрибут применен. Это свойство может принимать два значения: true или false.

C#

// По умолчанию Inherited = true.

public class MyAttribute : Attribute {}

// Явно задается false.

[AttributeUsage(Inherited = false)]

public class YourAttribute : Attribute {}

MC++

// По умолчанию Inherited = true.

public gc class MyAttribute : public System::Attribute {}

// Явно задается false.

[AttributeUsage(Inherited = false)]

public gc class YourAttribute : public System::Attribute {}

Visual Basic.NET

' По умолчанию Inherited := true.

Public Class  _

 <AttributeUsage(AttributeTargets.All, Inherited := True)> MyAttribute

 Inherits Attribute

End Class


Public Class _

 <AttributeUsage(AttributeTargets.All, Inherited := False)> YourAttribute

 Inherits Attribute

End Class

Вышеописанные атрибуты затем применяются к методу класса MyClass:

C#

public class MyClass {

 // В C# несколько атрибутов могут определяться в разных блоках,

 // ограниченных скобками или в одном блоке – через запятую.

 // Порядок следования атрибутов неважен.

 [MyAttribute][YourAttribute]

 public void MyMethod() {

  //…

 }

}

MC++

public gc class MyClass {

public:

 // В MC++ несколько атрибутов могут определяться в разных блоках,

 // ограниченных скобками или в одном блоке – через запятую.

 // Порядок следования атрибутов неважен.

[MyAttribute][YourAttribute]


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Программирование на Visual C++. Архив рассылки"

Книги похожие на "Программирование на Visual C++. Архив рассылки" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Алекс Jenter

Алекс Jenter - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Алекс Jenter - Программирование на Visual C++. Архив рассылки"

Отзывы читателей о книге "Программирование на Visual C++. Архив рассылки", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.