Чтение онлайн

ЖАНРЫ

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

Jenter Алекс

Шрифт:

 }

}

MC++

public:

 __property bool get_MyProperty { return myvalue; }

 __property void set_MyProperty(bool value) { myvalue = value; }

protected:

 bool myvalue;

}

Visual Basic.NET

Public Property MyProperty As Boolean

 Get

Return Me.myvalue

 End Get

 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)]

Поделиться с друзьями: