Программирование на Visual C++. Архив рассылки
Шрифт:
Set
Me.myvalue = value
End Set
End Property
Пример пользовательского атрибута
В этом разделе объединяется вся предыдущая информация и показывается, как создать простой атрибут, документирующий некоторый фрагмент кода. Атрибут из этого примера содержит информацию об имени и уровне программиста, а также о времени последнего пересмотра кода. Он содержит три закрытых переменных, в которых хранятся данные. Каждая переменная связана
C#
[AttributeUsage(AttributeTargets.All)]
public class DeveloperAttribute : System.Attribute {
// Закрытые поля.
private string name;
private string level;
private bool reviewed;
// Конструктор принимает два обязательных параметра: имя и уровень.
public DeveloperAttribute(string name, string level) {
this.name = name;
this.level = level;
this.reviewed = false;
}
// Свойство Name.
// Только для чтения.
public virtual string Name {
get {
return name;
}
}
// Свойство Level.
// Только для чтения.
public virtual string Level {
get {
return level;
}
}
// Свойство Reviewed.
// Чтение / Запись.
public virtual bool Reviewed {
get {
return reviewed;
}
set {
reviewed = value;
}
}
}
MC++
#using <mscorlib.dll>
[AttributeUsage(AttributeTargets::All)]
public __gc class DeveloperAttribute : public System::Attribute {
private:
// Закрытые поля.
String* name;
String* level;
Boolean reviewed;
public:
// Конструктор принимает два обязательных параметра: имя и уровень.
DeveloperAttribute(String* name, String* level) {
this->name = name;
this->level = level;
this->reviewed = false;
}
//
Свойство Name.
// Только для чтения.
__property virtual String* get_Name { return name; }
// Свойство Level.
// Только для чтения.
__property virtual String* get_Level { return level; }
// Свойство Reviewed.
// Чтение / Запись.
__property virtual Boolean get_Reviewed { return reviewed; }
__property virtual void set_Reviewed(Boolean value) { reviewed = value; }
}
Visual Basic.NET
Public Class <AttributeUsage(AttributeTargets.All)> DeveloperAttribute
Inherits System.Attribute
' Закрытые поля.
Private name As String
Private level As String
Private reviewed As Boolean
' Конструктор принимает два обязательных параметра: имя и уровень.
Public Sub New(name As String, level As String)
Me.name = name
Me.level = level
Me.reviewed = False
End Sub
' Свойство Name.
' Только для чтения.
Public Overridable ReadOnly Property Name As String
Get
Return name
End Get
End Property
' Свойство Level.
' Только для чтения.
Public Overridable ReadOnly Property Level As String
Get
Return level
End Get
End Property
' Свойство Reviewed.
' Чтение / Запись.
Public Overridable Property Reviewed As Boolean
Get
Return reviewed
End Get
Set
reviewed = value
End Set
End Property
End Class
Применять этот атрибут можно, используя как полное имя DeveloperAttribute, так и сокращенное – Developer:
C#
[Developer("Иван Семенов", "1")]
[Developer("Иван Семенов", "1", Reviewed = true)]
Поделиться:
Популярные книги
Печать Пожирателя
1. Пожиратель
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Привет из Загса. Милый, ты не потерял кольцо?
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Мастер 2
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Нечто чудесное
2. Романтическая серия
Любовные романы:
исторические любовные романы
9.43
рейтинг книги
Клан
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Имя нам Легион. Том 3
3. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Запасная дочь
Фантастика:
фэнтези
6.40
рейтинг книги
Убивать чтобы жить 7
7. УЧЖ
Фантастика:
героическая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
У врага за пазухой
5. Оголенные чувства
Любовные романы:
остросюжетные любовные романы
эро литература
5.00
рейтинг книги
Кодекс Охотника. Книга XXI
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Генерал Скала и ученица
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Оцифрованный. Том 1
1. Линкор Михаил
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Его маленькая большая женщина
Любовные романы:
современные любовные романы
эро литература
8.78
рейтинг книги
Хуррит
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00