using System;
namespace ProtoBuf
{
///
/// Used to define protocol-buffer specific behavior for
/// enumerated values.
///
[AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
public sealed class ProtoEnumAttribute : Attribute
{
///
/// Gets or sets the specific value to use for this enum during serialization.
///
public int Value
{
get { return enumValue; }
set { this.enumValue = value; hasValue = true; }
}
///
/// Indicates whether this instance has a customised value mapping
///
/// true if a specific value is set
public bool HasValue() { return hasValue; }
private bool hasValue;
private int enumValue;
///
/// Gets or sets the defined name of the enum, as used in .proto
/// (this name is not used during serialization).
///
public string Name { get { return name; } set { name = value; } }
private string name;
}
}