This page describes @member and @value tags. Overall, their intention is similiar: they allow you to specify a description for some item (structure member or enumerated value) as part of the description of an "enclosing" item (structure type or enumerated type). This is a matter of preference whether you use these tags, because they don't allow to express anything new, but they allow to express it in somewhat more terse way.

@member tag

The @member tag can be used within the description of a structure (class, record, interface or object) to specify the description for a particular member (field, property, method) of this structure. Example:

   1 type
   2   { @member MyField Description for MyField field.
   3     @member MyMethod Description for MyMethod method. }
   4   TMyClass = class
   5     MyField: Integer;
   6     procedure MyMethod;
   7   end;

This is equivalent to

   1 type
   2   TMyClass = class
   3     { Description for MyField field. }
   4     MyField: Integer;
   5     { Description for MyMethod method. }
   6     procedure MyMethod;
   7   end;

@value tag

The @value tag can be used within the description of an enumerated type to specify the description for a particular value of this type. Example:

   1 type
   2   { @value meOne Description for meOne value.
   3     @value meTwo Description for meTwo value. }
   4   TMyEnum = (meOne, meTwo);

This is equivalent to

   1 type
   2   TMyEnum = (
   3     { Description for meOne value. }
   4     meOne, 
   5     { Description for meTwo value. }
   6     meTwo);

More examples

For more examples and tests of these tags see test unit ok_value_member_tags.pas and html output for this test unit.

MemberValueTag (last edited 2007-10-28 22:57:15 by localhost)